Rename `afterRemove` hook to `beforeRemove`

Because it's actually triggered before the element is actually removed
from its parent, during the `cleanData` phase.
Add `$.fn.views` extension method to return an array of views
Add a package.json. You still need coffee-script to use it as an NPM.