Add support for WYSIWYG theme options

This allows theme developers to add WYSIWYG theme option fields that could be used for things like a custom branded footer or other site-wide chunks of markup.

This update includes a migration that changes the `default` and `value` columns in the **theme_options** table from type `VARCHAR` to `TEXT`, allowing for larger string values, like blocks of HTML.