switch to esotope for faster JS code generation

We can't actually use it yet since browser support hasn't been added
to the npmjs version.
update esotope version; things work now