Bitmap caching for LinePathShape

This changes the way LinePathShape works so that bitmap caching can be done. Instead of using the built in path functions to draw the entire line, a bunch of dots are drawn along the line path. It looks almost the same and allows me to only draw the new points every frame.

With this change the pencil tool operates in fixed time and wont slow down as you draw really long lines.