Add pixel grid

Simple major grid.
Doesn't align perfectly to pixels.
Fix gridlines and pixel alignment

This was achived by changing the method used to display the user's
image. It now uses a translate+scale matrix transformation to get
subpixel alignment on scaled images. This also improves zooming.
Improve tool code interface

Tools now implement the Command interface, each with a start(), move()
and end() function. This isn't perfect, especially for ongoing-action
tools such as the oval tool.
Merge branch 'feat/tool' into feat/grid

Conflicts:
	app/src/main/java/com/jaween/pixelart/DrawingSurface.java