Update Theme.java

- Theme no longer implements Serializable (this will break compatibility with older iterations of Folder). Google's GSON library will be user for serialization.
- A new variable, themeId, is introduced for differentiating user-made themes from factory-made themes. If themeId equals 0 the theme is user-made (all user-made themes must have themeId set to 0), otherwise the theme is factory-made (factory made themes cannot have themeId set to 0, but must have a unique themeId value).
- Theme now overrides hashCode() and equals(Object obj) with its own methods.
- Themes are now defined by thre colors (background, intermediate, and foreground) along with several opacities (for their associated views). This will simplify themes, making them more uniform.
- Access to HashMaps do not reinstate them. This pattern is recommended whenever dealing with an instance of Theme (this is similar to the handling of folderContents in Folder)