Extends JS canvas to allow wrapping of text and aligning along X and Y axes.