Revamp and simplify the whole object-oriented structure of grids
* The grid is now just a SimpleGrid, not a Provider. It's immutable.
  Someday there might be a grid that isn't simple, but I don't think
  it's likely enough to warrant keeping an interface floating above
  this class.
* GridProviders *provide* grids (they are-not grids) and publish events
  when the grid changes, although that may be too much generality too.
* The horrible method name "grid" is now "drawOnGrid".
* The confusing GriddableGrid is now a more prosaic
  GriddablePositionMap. GriddableGridList is likewise renamed.
Organize GridderfaceGridSettingMode events, get its status to update
Add multiply blending mode and commands
Align and organize command-handling partial function (purely aesthetic)