Removes every cached tile whose coordinate falls outside bounds (wrong zoom, or x/y outside the given range) and is not currently in-flight, letting onRemove own the actual native/GPU cleanup. No-op if bounds is null.