Fade widgets not rendered in sidebars on currently-previewed URL

A 50% opacity is applied to the widget form controls when the widget
is not rendered in the preview, for example if the Jetpack Widget
Visibility module is used to exclude the widget from the page.

When navigating to other URLs in the preview, the appearance of the
widget controls will update based on whether or not the widget is
rendered on the newly-previewed URL. As such, this is the same
behavior as the sidebar sections.

Also fixed bug in relation to Widget Visibility where widgets not
initially-rendered in the preview could not then subsequently be
updated or previewed.

Fixes #65
Wrap available-widgets in widgets-left for compat

Some plugins manipulate the widget templates, and they may search for
them using the #widgets-left selector, which is the containing element
on the widgets admin page.

Fixes #51
Add sanitize_callback for each sidebars_widgets setting

Normalize if/else bracket positioning

For #28
Sanitize sidebars_widgets settings to be actually-registered widget IDs

For #28
Improve handling of widget updates which yield no instance changes

Turn updateWidget callback into a complete callback instead of just for successes.
Fix rendering widgets adjacent to hidden widgets
Eliminate short-circuit and restore update-suppression

Short-circuit would never work with the instance override since the setting would be usually identical anyway
Adios png! HelloOOOoooo icon font!
Add parse_widget_id() helper method to PHP from JS
Simplify direct widget instance model updates

Instead of passing a JSON-encoded instance_override POST var, populate
the Ajax POST vars with the vars as if they were coming from the
.widget-content inputs

Account for case were widget_number is 0
Sanitize widget instances for customizer

 * Ensure that instances saved to DB are sourced via widget update callback function
 * Serialize widget instances to JS in a way which preserves the non-JSON compatible dat.
 * Remove dead code related to tallying widget instances
 * Refactor update callback logic
 * Add method for parsing a widget setting ID, refactoring duplicated logic

Fixes #28
Send previously-sanitized instance when model changes

Clean-up after the input vars are manually set when a sanitized instance is provided
Throw exceptions instead of alerting errors
Base64-encode serialized instances to protect backslashes in strings
Add temp filter to JS-sanitize old settings revisions
Merge pull request #70 from MichaelArestad/master

Use vector fonts instead of raster images for widget icons

Adios PNG! HelloOOOoooo icon font!
Remove widget_icon_url filter and reference to PNG icon

Follow-up to #69 and #70