Do not cache parent node as element unless it is an element

The element property on a morph is never cleared, however the parent of
a morph's start and end nodes may change if it is attached to a document
fragment which is appended to DOM.

Because of this, the parent cannot be cached on a morph's element
property, unless a guard for it being an element is present.
Merge pull request #160 from mixonic/no-element-cache-parent

Do not cache parent node as element