Webbrowser user interface for python.

import jsui

ui = jsui.UI()
thing = Thing()
ui.start({'thing': thing})

Support both synchronous and asynchronous (eventually) operations.

Support both explicit and inspected (eventually) object specificiations.

spec:
    'name':  # name of the thing to expose
        'type':  # function/number/string/etc...
        'ui':  # ui element to use
            'js':  # ui payload (may also be processingjs)
            'html':  # html payload
            'css':  # css payload

-- Functions --
call grab (js) -> call grab (py) -> wait -> get images (py) -> get images (js)
get new stage positions (js) -> positions (py) -> new positions (py) -> new stage positions (js)
move stage (js) -> move stage (py)
change config (js) -> change config (py)

to turn a variable into a function. This needs to 'capture' the variable
def funcify(v):
    def f(*args):
        if len(args):
            v = args[0]
        return v
