Allow tables to be resized and accessed as FloatBuffers

These functions expose additional functionality to the Java domain. Tables may be resized. And instead of reading and writing to them via a Java-array intermediary, they may now be accessed directly as `java.nio.FloatBuffer`s. Finally, the ability to execute a generic `Runnable` in a thread-safe way has been added, ensuring that the audio thread is not running.