Move cachesCGContext out from category