Bugfix: controller.js stage.box.width computation was broken

Forgot to factor in #grid's left position when computing its width
after all the gridboxes have been included in the HTML. As a result,
when #grid was placed in different location from 0px left, the
difference was included when getting the width value, making #grid
a lot wider than it's supposed to be.
Bugfix: controller.js, gridbox.dict resets after boxtype init.

The gridbox dict is being reset after the boxtype has been defined,
which basically overwrites whatever was defined in the boxtype
instance's init.
Dev02 started.

Thinking about making a game where the player can create
a settlement in a post-apocalyptic scenario. See dev-demos/02/notes
for some ideas.