Add support to register custom form extensions.

You had a @todo in the `Builder` - turned out it was something I needed.

Not sure if you like this particular approach, I don't really care how it's implemented so long as I can provide a bunch of custom form extension objects.

-Sam