Add configuration parameter MQ_HEADSIZE

Consists of four numbers divided by colons defining the size of the print
head relative to the nozzle in -X, +X, -Y & +Y directions.

e.g.
MQ_HEADSIZE=15:20:18:10
Implement head size aware NewArea Region subclass

Special Region can be expanded using add_head_clearance() to make the
region encompass the whole area head may occupy rather than just the
nozzle tip.
Analyse new print instructions and apply checks

Compare against existing depositions to determine whether print is safe.
Compare existing depositions against safe Z reset area

We must be able to reset the Z axis at X0.0, Y0.0.

If we can't do this due to existing depositions then bail.
Add configuration parameter MQ_PRINTBED

Consists of two numbers divided by colons defining the size of the
print bed X and Y dimensions.

e.g.
MQ_PRINTBED=200:200
Implement Region '<=' comparison method

True when region a is entirely contained within region b.

a <= b = True
Ensure new print fits on the print bed
Fix erroneous Region.__and__() implementation

Now simplified by checking for no overlap and inverting result.