Explicitly specifies Java version

Modifies project to run on Java 6 for distribution compatibility.
Adds comments, updates waveform handling, etc.

Adds javadoc comments to the WaveformSynthesizer class. Corrects
exception throwing for multiple methods. Changes waveform
initialization for The WaveformSynthesizer and WaveformPanel
classes. Also adds adds executable script for convenience.
Adds virtual keyboard

Adds KeyboardPanel class that gives users a virtual keyboard for
alternative midi input.
Updates UI and integrates virtual keyboard

Updates the user interface and integrates the previously committed
KeyboardPanel. Main frame now uses a layout manager in preparation
for additional future UI updates.