Grid system

This adds a 'grid' component which keeps track of objects on a specific scenario's grid (including inventoriables), as well as the boundary values for each space, albeit in separate arrays. So, any moving objects don't have to run through a list of inventoriables to find a collision, they only have to check the one space from the grid. 

Each scenario would have its own grid to define boundary values and where certain objects are located (the objects are currently added to the scenario's grid in `scene.js`).

Does this look like it would work well with the scenario system? @eric79 @BrettASwift 
My instinct is that we're going to want to project the grid down onto the ground (so the altitude should be the altitude of the ground - and may not be consistent throughout the tile).  With that said... if there's a better way, ignore me. :)