various improvements

Added various improvements including

* input writeback (so you can actually submit forms without weird custom
code)
* input restriction (based upon list of acceptable inputs passed via
availableTags)
* transformations of data (based upon string functions, or arrays of
string functions)

Enjoy!