move actions::unit_can_move to be a method of display_context::

I would have put it in game board but it needs to be available
to display / drawing code... would be good to refactor to simplify
this.
add drawable unit class

drawable unit inherits from unit, and implements the draw function,
used only by the display. when the display wants to use the function,
it casts a unit pointer to a drawable_unit, and draws it. this
improves encapsulation.
Merge branch 'drawable_units'