Uses .listenTo instead of .on for binding events to functions.

By using .listenTo instead we can also bind the view’s ‘destroy’ event
to the controller triggering destroy on itself and thus removing
references as they are not needed. This prevents zombie objects from
building up.
Allows Form.FormWrapper accept view-related configs that come from its contentView
Manipulates the DOM using the onShow method on Form.FormWrapper
Makes the behaviour of focusing on the first input of the form configurable
Makes the Form.FormWrapper view's data-type attribute dynamic by looking into its model
Allows the Form.FormWrapper's buttons (their text and placement) to be configurable
Gives the buttons configuration of Form.FormWrapper more flexibility by moving the business logic from the template to the buttons entities and the form view itself.