Fix: API conflict with Prototype lib

* `String.wrap()`
* Fix #21
Optimize validation when extending client object

Utilities
* Add: `validate_client_object()`
* Update: `extend_client_object()`
Validate client method calls

Utilities
* Update: `call_client_method()` wrap method call in validation
Defer client component initialization until after document has fully loaded

* Themes
* Content Handlers
* Template Tags
* Assets
Merge branch 'client_validation' into develop
Theme (Default): Declare font without scheme to avoid HTTPS messages

* Closes #18
* (Props @KevinPlusPlus)
Honor user-set overlay opacity value

* Fixes #14
Default Theme: Increase width of navigation UI hit targets

* Increased to 45% of lightbox width
* Closes #16
Theme (Black): Optimize link display
Refactor Array prototype methods

* Moved to Utilities class
* Array.indexOf()
* Array.intersect()
* Fix #25
Remove custom Object prototype methods

* Object.keys()
Refactor custom String prototype methods

* String.sprintf() -> Util.format()
* Remove: String.trim(), String.ltrim(), String.rtrim()
Optimize item title retrieval

* Refine retrieval precedence
* Optimize: Gallery detection
* Close #15
Load admin client script only on settings page

* Add: new context entry for admin + `page` query value
* Update: Admin client script context
Load shadow files in client only when needed

* Client files can be defined to only load when other files are loaded that declare them as a dependency
Merge branch 'opt_client_admin' into develop
Limit loading of admin CSS to specific pages

Limit to settings page and plugin listing
Defer setting context until document has fully loaded
Client: Optimized validation before attaching View module
Update readme