Failing tests for helpers changing the fragment
Fix equalTokens assertion in Firefox
Merge pull request #57 from mixonic/firefox

Fix equalTokens assertion in Firefox
Handlebars embedded in a node call the element helper using a referance to the element which was cached before any hooks are called.

  - Removed notion of 'sharedParent' hydration opcode in favor of the 'element' opcode
  - ConsumeParent opcode is now always added when an element is opened.
  - If the element contains more than two morphs, or if it has a handlebar embedded in the node itself, and element opcode is pushed to the hydration ast
  - When the element opcode is called, the last parent value is added to the declairations array to be cached just like morph elements before any hooks are called
  - This cached value is used when creating any morphs inside the element (like parent used to be used for) or in any element hook calls
  - By using cached elements in hook calls helpers may modify the dom all they want without messing up program execution
  - Cached elements are now stored as 'element(n)' rather than 'parent(n)'
Merge pull request #58 from epicmiller/morph-offset

Handlebars embedded in a node calls the element helper using a cached reference to the element
Refactor fragment compiler and single root fragments