Short Term:

- Proper Javascript namespacing for Canvas and RFB (using function for
    true local variables and functions).

- Timing delta between frames in proxy record log, for playback
  support (for demo and test).

- Playback/demo on website.

- Test on IE 9 preview 3.

- Possibly support IE <= 8.0 using excanvas or fxcanvas:
  http://excanvas.sourceforge.net/
  http://code.google.com/p/fxcanvas/

- Fix cursor URI detection in Arora:
    - allows data URI, but doesn't actually work


Medium Term:

- Viewport and/or scaling support.

- Status bar buttons:
    - Isolate menu UI in DefaultControls.js
    - Icons in status area upper left
    - Dialogs float over canvas
    - Turn off events while menu open (but still update display)
    - Explanatory hover text over buttons

    - Connect/disconnect button

    - Configuration menu:
        - Store in cookies
        - Items (move to public settings):
            - Host
            - Port
            - Password
            - Encrypt
            - TrueColor
            - speed vs. bandwidth selection
            - b64encoding
            - shared mode

    - Keyboard menu:
        - Ctrl Lock, Alt Lock, SysRq Lock
        - Highlight menu icon when keys are locked

    - Clipboard button -> popup:
        - text, clear and send buttons

    - password popup:
        - when none set, but password required
        - session only, should not store in cookie


Longer Term:

- Implement UI option for VNC shared mode.

- Get web-socket-js RFC2817 proxying working again.

- Implement tight and ZRLE encoding

- Support for Spice protocol.

- Consider RDP protocol.

- Consider NX protocol.

