Fix merge problem
Add CursorController class

This class modifies the Cursor as needed.  For now this uses the push
buttons to mimic the mouse movement, and sw 0 acts as the left click.
Update TowerPlacer to work more as expected

Before the tower placer was creating the tower when selectTower is
called.  It now takes a reference to the selected tower and will modify
the position of that tower to the cursors position.
Move cursor update function call

Now that a pixel_buffer isn't required, this makes more sense to call
from the CursorController.