More support for transitions

2-state transitions now rely more on the position & right properties
than display:none/block.
This should make animation easier

Added wider links to share menu

Moved big blocks of javascript into their own .js file - should make
things more modular and easy to import into a webpage