Turning ChartCacheImpl into an actor.

This means it can receive file events messages and evict from the cache accordingly.
Switching to using cache weight for better memory management.

It makes more sense to evict at a certain number of charts, not a certain number of lists.