Added a few custom enumerators and cached a few delegates in fields to reduce allocations.

Created a custom OnlyOrDefault overload that takes a list source since this particular overload was used in a few places. Reduces allocations and improves speed a little.
Streamlined ImageSize.GetSize somewhat.