Make Tappable#tap final.

It really shouldn't be possible to override this.
Add an allocate(initFn) variant to Cache.

Should simplify allocating from the cache by letting you allocate and
initialize an object in one go.
Synchronize on the cacheable when collecting it.

This should prevent a race condition when a cacheable is collected from
multiple threads, allowing it to throw an error from whichever thread
waits.
Not about thread safety in Cacheable#recycle.
Add TripleBuffer class.

Used as a simple means of passing data between threads, particularly
in frame loops (e.g., frame data -> renderer).
Add Color and ColorSpace classes.

ColorSpace is mainly used to transform between the two color spaces
available (HSV and RGB). Further color spaces can be added by making
the number of components in a color variable (e.g., because I require
alpha to always be an available component, CMYK would require five
components to include alpha, so no. of components would either need to
be variable or set at an optimistic maximum.

Given that CMYK is mostly useless for what I'm doing, though, it's
easier to just provide RGB and HSV and ignore the rest.
Increment to version 1.2.1

- Added Color
- Added ColorSpace
- Added TripleBuffer