Typo fix.
A bit more work on compileKernel and mapData, still WIP.
Comments.
Add a test page.
Extension hacking:

  * Create and export a `riverTrailExtensionIsInstalled` method for
    the sole purpose of checking if the extension is installed.  Do
    away with old `useFF4Interface` junk.

  * Remove references to Components.interfaces.dpoIData and replace
    with `Object` for now, until we figure out what to do.  Put in
    some temporary log messages to see what the types of things are.
Extension hacking:

  * Don't have initContext return anything; just have it initialize
    the context field of the object it's on.  Export a version of it
    that's been bound with `bind` so it can access that field.

  * Don't have mapData, allocateData, and compileKernel take a context
    as argument after all.  Instead attach them all to the same object
    that initContext is attached to, and export versions of mapData
    and compileKernel that have been bound with `bind` so that they
    can access the context field.

  * Also `bind` getBuildLog in the same way.
Declare clCreateCommandQueue and the types it needs.
Oops!  These should've been enum types, not ADTs!
More work on initContext.
More work on compileKernel.
WIP - compileKernel
A couple bug fixes.
Correct declaration for clCreateContext.
WIP
WIP: implement mapData()
WIP: setArgument
Avoid magically coercing err_code to a number.  Augh.
A little WIP work on compileKernel.
Experimenting with context properties.
Stuff for debugging.