Few collections updates / performance improvements

(Modified previous PR without Trove shenanigans, I guess I didn't get the memo)

 - Avoid allocation of Iterators when we know we have an ArrayList.
 - More optimized game time movement loop using ConcurrentLinkedQueue.
 - Random separation of concerns modifications.
 - FastMap -> HashMap in a few places
 - FastMap.shared() -> ConcurrentHashMap in a few places
Have you benchmarked this?

I'm pretty sure the output byte code should be something close, if not the same.