overhaul to code styles

-separating out the different transition types into their own methods to
help with modularity
-began adding a hook for user created transition type (will take a
function instead of a string)

-adding transition type of 'instant'
-keeping minified and demo versions up to date