Improve radar rendering performance

This introduces a CellEntryChanged event on CellLayer, and uses this to cut out most of the heavy looping from the radar updates.  These events will also be used by the ingame map editor, and should help significantly with our shroud rendering performance.

The old radar code split the update over 12 ticks, with only three of these doing actual work.  This is no longer necessary, which gives us a much smoother radar view.

I tested this by timing `RadarWidget.Tick` over 1000 ticks on the biggest and smallest maps that I could find:
![histogram](https://cloud.githubusercontent.com/assets/167819/5260885/c092c220-7a78-11e4-9abb-26d9a4f7cd72.png)