Refactor HashTrack to fix issues.
Refactor HashTrack to fix issues.

* Fix event ordering/duplication problems.
* Track layers that are turned on and off.

elil/geomoose-js,geomoose/geomoose-js,geomoose/geomoose-js,klassenjs/geomoose-js,klassenjs/geomoose-js,geomoose/geomoose-js,klassenjs/geomoose-js,elil/geomoose-js,geomoose/geomoose-js,klassenjs/geomoose-js,elil/geomoose-js,elil/geomoose-js