ImgOptions: interval -> SubRegion

Added a new SubRegion class that can parse dimensional selections out of
Strings. This allows the specification of discontinuous sub-regions.

NB:
* sub-regions must be continuous in X,Y. To open multiple X,Y tiles,
  ImgOpener will have to be invoked multiple times.
* sub-regions must adhere to the dimension order of the given image.
  This is a significant limitation and will hopefully be resolved when
  moving to an N-D model.

All Img-related classes now support SubRegion opening.

To facilitate these changes, added SubRegion tests to the ImgOpenerTest,
an openImg(String, ImgFactory, ImgOptions) signature to ImgOpener (and
the IO static utility class).