NanoUI Update

* Refactored the code used in the ui_interact procs to be neater and easy to understand (also less code duplication). Updated all existing ui_interact procs to match.
* Rebuilt (and simplified) template rendering system, removed data-linking (the use of carets "^" in templates) and the need to send the full data structure every update (just send whatever you want now, it's fully dynamic). Updated all existing templates to match.
* Restructured HTML and JavaScript to increase compatibility with IE (this fixes "blank uis" for many users).
* Increased the number of error messages to help diagnose issues.
* Multiple performance improvements, especially when updating an open ui.
* Added the ability to update a ui for an individual user (nanomanager update_user_uis proc, used for things like realtime messages in Bay's PDA).
* Added a "Loading..." notice to the UI. If this stays then your JavaScript isn't enabled.
* Removed redundant wip apc.tmpl file.
* Added a link to the online docs in TemplatesGuide.txt.
Merge branch 'master' of https://github.com/tgstation/-tg-station
Merge pull request #2293 from Faerdan/master

NanoUI Update