Bay of Plenty hold off Canterbury