Add GT::Cache.
Add GT::Cache.

Just a simple cache for keeping objects around when you don't want to
have to allocate them over and over. Good for reusable objects like
vectors and such that you'd ordinarily allocate tons of.

This is not a good fit for objects that require initialization every
time they're used. If the object represents a mutable value, it's a
good fit, if it is immutable or requires complex initialization, it may
be better to not try to cache it.

nilium/ruby-gametools