adding dom3 support

dom level 3 has mutation events, which aren't nearly as performant as the observer approach, should still be a bit faster than polling
Merge pull request #4 from stephenmathieson/add-dom3-support

adding dom3 support