Hacky start to building a selectbox input widget.

I think splitting FormHelper into smaller parts will make the code
more manageable and extensible. I know for sure that a 3000 line class
is neither of the above, so smaller classes can't be worse.

This change also puts a stub in place for the Context class which will
eventually contain all the relevant context for building forms from the ORM
and other sources like the request. Hopefully this class can insulate the
rest of the input libraries from the ORM and request objects.
Add empty option support.

This is a useful option that we should keep from 2.x
Remove the context class.

It is really not warranted at this time. The input classes are even simpler if they have all their pre-requisite
data supplied to their render method.
Add additional test for empty.
Add tests for selecting multiple values at a time.
Some refactoring and adding test for disabled rendering.
Add disabled option support.

Add disabled options and tests for them.
Add optgroup rendering.
Add HTML escaping.

Add an escape option to toggle HTML escaping of attributes and node text.
Make attribute formatting part of StringTemplate

Since attributes are basically string templates with a tiny bit of logic it felt
that these methods would belong here. In the long term I hope to remove them from
Helper and have Helper use these methods instead.
Remove duplicated attribute handling code.
Add doc blocks to SelectBox.
Fix failing tests.
Fix coding standards error.
Fix support for Traversable when creating option groups.
Reduce the number of templates used.

By adding {{attrs}} I can re-add support for arbitrary properties on
option elements. As well as the [name => foo, value => bar] format for
option elements.
Add support for rendering complex option types.
Update based on review comments.
Convert iterators into arrays before mucking about with them.

$data['options'] might be an iterator. Convert it to an array before
adding empty options or converting to option elements.
Update doc blocks.