JNI: Rename TimeTag.IMMEDIATE to TimeTag.NOW.
JNI: Keep a reference to a Signal object for each signal.

This is so that the Signal object can be passed to the InputListener
as an argument without creating a new one every time it is called.
Device.add_input() and add_output() are now completely native.
JNI: Provide a complete set of arguments to the input handler.

Still need to construct a valid TimeTag object however.