Test case for #95
better three.js object deallocation
Merge pull request #1 from chandlerprall/memorytest

better three.js object deallocation
Better object clean up in worker, fix for #95
More aggressive block spawning

Still careful to wait for "ready" so that the engine doesn't get
overwhelmed. There is the risk of deleting an object before it is
ready, but as long as max_on_screen is larger than spawn_per_tick it
should be fine. And that shouldn't really be possible given the
requency of message passing back and fourth between the page thread and
the worker.
Matching Ammo new() with Ammo.destory()
Increases removeObject() memory performance #95

The worker's heap is still growing which is a problem, but this
substantially increases memory performance (as tested with OS X/Chrome)
and changes the crash from a sad tab to a hang in the worker (at
137,000 boxes).
Cleaner material handling

_materials was never actually being assigned to. _materials_ref_count
now counts how many times a material has been used in the scene and
removes it from itself and the web worker if the last object a material
is associated with gets removed. Before physijs materials never got
removed from the web worker.
Track and clean up motion states.
Track and cleanup compound shapes.
Track and destroy noncached shapes. Clean up.
Add memory tests for convex and compound shapes.
Merge pull request #101 from qiemem/object-cleanup

Improved clean up on object removal