Follow best practice if importing collection.mutable and not its contents.
Made scrud.state package not depend on any scrud-specific packages.

It only depends on scrud.util for its generic listeners.
Fix to test relating to getLayoutInflater.
Support withCloseable without using reflection for InputStream.
Use a LazyApplicationVal with ConcurrentMap instead of an ApplicationVar with CachedFunction.

This is in preparation for using a WeakReference to prevent OutOfMemoryErrors.
Story #4
Use a WeakReference to allow cached images to be garbage collected if not used anywhere.
Narrow visibility of State.variables.
Extract ImageLoader from ImageViewField.
Use the max of the width or height ratio to avoid wasting resources.

See comment in code.
Increase the sample size until the drawable can be loaded.
Extract ImageLoader.calculateSampleSize.
Fix to calculateSampleSize.
Fix after tweaking the android version in IDE.
Extract ImageViewLoader out of ImageLoader.

Also add params for displayWidth and displayHeight.
Use the ImageView's dimensions if set.
Retry loading an image using powers of 2 for sample size.

Extract RichContentResolver.