cleanup BoardViewMetrics properties

change details
- replace the "rect" property by the "canvasSize" property
- rename the "zoomScale" property to "absoluteZoomScale"
- add a new property "baseSize"; the "canvasSize" property is now a
  calculated property that depends on the "baseSize" and
  "absoluteZoomScale" properties
- replace the "updateWithRect" method by the "updateWithBaseSize" method
  so that callers don't have to take the zoom scale into account when
  they invoke the method
- rename the "updateWithZoomScale" method to
  "updateWithRelativeZoomScale" to make the distinction clear between
  absolute and relative zoom scales
zoom scale can no longer fall outside the minimum/maximum range (fixes #139)