styling helper that supports composite styles and caching

Summarized in the 'Styling' section in the README.md file. I'm pushing this out for review... it would need tests, and improved documentation, but I wanted to see if this is helpful to others.
The reference to ```styles``` is what the developer defined as their hash of styles. That gets memoized as the ```@form_styles``` instance variable. All single or composite styles also get memoized/cached in the ```@form_styles_cache``` instance variable.