Definition of planar domains, and basic implementations.

Contains the definition of Domain2D, the main interface for domains, and several implementations.