Initial Commit of Java UI

This is still a work in progress.

It uses a cardlayout to allow a single frame to switch between multiple
panes.

The Program Tree still needs checkboxes, and a timetable UI still needs
to be done.