This commit introduces a polyfill to add support for Promises in IE11. This means IE11 can be tested without first running `utils/as_require.js`.
This changes around `utils/use_require.js` to be able to generate any of AMD (RequireJS), CommonJS, SystemJS, or UMD modules. The three former also include support for translating `vnc.html`, producing a full "app" version of noVNC.