clean up, more fields

Some clean up, also added a few caching fields (in graphics, we can
afford to be messy sometimes).

Still, a major cleanup on this is loooong overdue. This was one of my
first modern Java codes.