Make tween.update more robust

It can now handle negative numbers, nil, 0, and any kind of garbage.

Fixes #1455
Actually test what I think I'm testing
Check that the door passed into the level exists.

Before, we just assumed that a door would exist. If someone had saved in
the old Valley of Laziness, their game save would try to load an invalid
door. We now check that the door is valid before using it.

Fix #1456
adds bb checks
Merge pull request #1460 from hawkthorne/fix_tween_update

Make tween.update more robust
Merge pull request #1468 from CalebJohn/collide

Checks if bb exists on blocks and Platforms
Check to make sure hwe ave a BoundingBox

Somehow the enemy's bounding box is getting set to nil. Just check to
make sure that isn't the case. Fix #1465
Fix metrics reporting.

Instead of directly talking to mixpanel, we now use
api.projecthawkthorne.com. This allows us to upgrade metrics more easily
in the future. This will also hopefully fix the issue with almost no
opens being reporting for version 0.0.78.
platforms do proper bb check
adds check for deselect
Merge pull request #1477 from CalebJohn/collide

Specific BB check
Merge pull request #1479 from CalebJohn/fix_deselect

Adds check for deselect
Merge pull request #1462 from hawkthorne/check_for_valid_door

Check that the door passed into the level exists.
Remove print statement
Merge pull request #1472 from hawkthorne/fix_empty_bb

Check to make sure we have a BoundingBox
Merge pull request #1474 from hawkthorne/fix_mixpanel_tracking

Fix metrics reporting.
Read the configuration JSON file into memory
fix spritesheets
Merge pull request #1483 from edisonout/brittasface

Fix width of Britta's face on forward holding sprites