Added support for Annotations and improved Enum support.
Refactored SourceItemNode to hold a JavaObject. Refactored how the type is determined.
Added icons to show public, protected, private etc.
Added icons