Refactor UnitView to show any unit.

I'll use this to make a right-click popup on any unit on the
battlefield.  It doesn't really make sense for UnitView to be a class
anymore, so I'll have to refactor that.
Refactor unit window drawing into its own function.
Removed all member variables from UnitView.

This class has only one useful member function.  It doesn't need to be a
class.
De-class the UnitView.
Possibly reduced CPU usage a bit.
Redraw the whole screen each frame.

Not doing that was an unnecessary optimization.  And it prevented the
unit popup from correctly overlaying other elements.
LogView needs to draw itself every frame.
Use C++11 max function with initializer list.
Error logging, destruction correctness.
Draw a border around the unit popup window.

It's ugly and the code is hacky.  We can do better.
Clean up the border for the unit popup window.
Rollback change to main border drawing code.

It was clear from testing that the one-line-at-a-time strategy won't
work for a rectangular border, due to overlap.  The code changes were
needlessly complicatd.
Display available spells among the unit traits.
Better name for rendering text.

Render = return a new surface.  Draw = blit to screen.
Removed unneeded 'moves' attribute.

Everything except Cavaliers had moves=1.  I've removed that stat
altogether and gave Cavaliers the Mounted trait, which gives them
moves=2.  Number of moves is still used internally by the engine, but
its no longer explicitly configurable.
Added latest gameplay video.
Fixed typo.
And another one.
Merge remote-tracking branch 'upstream/master'