BugIds: 97734, 97942, 97932, 97541

Fixes numerous minor issues with CategorySelect:

* Properly maintain the order of categories across view/edit pages. This was causing issues with trying to map category data to category elements.
* Truly associate category data to the DOM. Data will now be built from "data-" attributes on category DOM Element's themselves instead of loading this data separately and applying it to DOM Elements. This also addresses problems with mapping category data to their elements.
* After save, generate HTML for the categories list the same way it was generated on article view. This prevents issues with view inconsistencies after saving categories.
* Hidden categories: 'hidden' class + showing/hiding based on user preference. This will allow users the ability to style hidden categories if they choose to see them.
* Add some padding to the top of CategorySelect to prevent it from bumping into stuff above it.
* Fix some prefixed category tags being stripped improperly.
* Fix CategorySelect not appearing on widescreen mode.