A rewrite! viewloader now matches on custom named data attributes.

`data-view-thing` will match a setup function named `thing` in whatever object
is passed to `viewloader.execute`. This has the added advantage of being able
to pass data to the function through the attribute value: 
<div data-view-thing="foo"/>, which will be passed as a third argument (props).