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 verified that this doesn't regress performance 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)

The standard pattern already achieves that, why not just do the usual ```!= null``` check and avoid all the extra ceremony?