(Bug 2366) Move custom text data from S2 layers to userprops

This keeps custom text the same across layouts, instead of saving it per
layout.

-Creates new userprops to store the data instead of s2 props
-Creates a widget to handle recieving and posting of userprops
-Inserts widget into the Module section of Text options, maintaining
 striping and classes
-Migrates s2 props to userprops, if the user is not using userprops
(Bug 2366) Clean-up of unnecessary code
-removed warn lines
-removed unnecessary JS
-changed header to reflect that widget is basically new code
and only shares basic subs and variable names with other widgets
(Bug 4703) Fixes double-loading of stylesheets

We call need_res twice now: once at the top of the page (for JS
variables and stylesheets), once at the bottom of the page (for JS
scripts).

There was a bug which caused the stylesheets to be printed twice.
Oops...
(Bug 5261) New style: Trifecta
-- Add new style w/ 15 themes
-- Add images
-- Add previews
Merge pull request #585 from ninetyd/bug5261/trifecta_newstyle

(Bug 5261) New style: Trifecta
Merge pull request #584 from afuna/bug4703-double-stylesheets

(Bug 4703) Fixes double-loading of stylesheets
Merge pull request #560 from momijizukamori/Bug2366/Customtext

(Bug 2366) Move custom text data from S2 layers to userprops