16 items max in gradient arrays
made _updateFilterBounds operate on Rectangle, added fromAny method