Add basics registering filters
Change craw.filter methods to allow their truth test functions to return promises
Add a js filter type
Add a coffee filter