First pass at widget code improvements

* New widgets.php file introduced which contains the code that causes
effects (registers widgets), leaving the existing files to be renamed as
pure class files.
* Redundant widget registration functions formally deprecated.
* Widget setting defaults consistently moved into constructor for easier
identification.
* Fixed un-internationalized strings.
* More adherence to code standards.
* Some double-quoted strings changed to single-quoted strings.
* Cleaner and moe consistent coding style, making code easier to read.
* Files, classes, methods and functions all documented.
* Type-hinting added for array parameters.
* More appropriate sanitization for numerical fields.
* Escaping added for some attributes.
* Use of selected() where appropriate.
* A few todo comments left as reminders for later passes of the code.
* Version added to enqueued resource so cache can be automaticalled busted.
* Removed PHP4 constructor naming.

Note, that this code has not been tested, due to not having SB setup ready to run - it may need merging, then some debugging for anything I've missed.