Invalidatable local caching

Add cache invalidation for Camera and Boundable.

Several methods on these classes produce data at a significant cost.
Caching these members locally offers ease of access on a per-instance
level.
Update tests for Invalidatable changes