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 
This shouldn't always be the case. A developer may wish for an object to remain invisible when moving it around.