Type Safety

Improves type safety, only 16 warnings in total remain, 1 unchecked
cast, and 15 unused methods and variables. Fixed some of the exceptions,
for instance in List renderers or models, I passed the list in the
constructor with the final modifier instead of using the argument
versions making it possible to eliminate casts all together.