Hide the story text until the user has filled all of the text fields

Adds a "generate" button that is active once all of the text input
fields have been filled in. This button hides the input controls and
displays the completed story text. A reset button can be clicked to hide
the story and re-display the input controls, which are set to their
default values.
Display error message when story is generated with some fields empty

Only handles validation of the "required" attribute on input controls.
Currently, there is no labelling of the specific fields with errors.
Add styling on invalid input fields

But still need to make this work correctly when the form is submitted.
Also no validation yet on number fields.
Improve the logic and UI feedback for validating the input fields
Merge feature branch 'better-ux'

Show the story text only after all input fields have been filled out.
Provide validations and UI feedback for empty fields. The story/form can be
reset so new values can be supplied for all of the fields.