some fixes for mac os

1. initialize mutex and localize use of trylock/unlock
2. fix callback arguments in simpletest.js
3. add basics.js as the skeleton for a simple streamer of system output
(it should go elsewhere, but i suspect we'll be testing with this for a
while)...

note that secondtest.js produces this:

    input :2
    output :2
    rate :44100
    format :1
    size :4
    inputChannels :1
    outputChannels :2
    interleaved :0
    Reading symbols for shared libraries . done
       info  - socket.io started
    node(9328,0x7fff72d9f180) malloc: *** error for object 0x102006608: incorrect checksum for freed object - object was probably modified after being freed.
    *** set a breakpoint in malloc_error_break to debug

    Program received signal SIGABRT, Aborted.
    0x00007fff8d9a3212 in __pthread_kill ()
    (gdb) where
    #0  0x00007fff8d9a3212 in __pthread_kill ()
    ...
    #7  0x00007fff8936ec07 in malloc ()