cleaned up, changed API, cleaned up documentation.

All elements that can have a label, except those of checkbox, radio and a few others now have a label attribute in their array which is then processed to create their label.

We now have a render_view($template_name) function which will render a template based on the name, from the egistered views. You can read more about that in the documentation.

Documentation was updated to reflect these changes.