CHANGES IN VERSION 1.0

o First submission of wheatmap package.

CHANGES IN VERSION 2.0

o added ticklabel use data feature and label repel simulation
o bug fix to bbox documentation
o fix to na.color in continuous color
o removed CMPar() as default argument so importing package won't complain missing function

CHANGES IN VERSION 0.2.4

o sibling-aware auto-margin: a child placed via RightOf/LeftOf/TopOf/
  Beneath of a predecessor whose outward labels overflow its body
  (e.g. a WLegendV next to a label.use.data=TRUE WColorBarV) is now
  shifted outward by the predecessor's label extent at draw time, so
  the predecessor's labels no longer sit underneath the next sibling.
  Implemented as a fixed-point iteration with the outer gtable
  margins (margins shrink the center cell, which inflates the NPC
  overhang, which feeds back into the shift).
o TopOf/Beneath/LeftOf/RightOf now tag the resolved dm with
  'placement' and 'placed.relative.to' attributes that record the
  placement intent for the draw-time relayout pass.

CHANGES IN VERSION 0.2.3

o stand-alone print() now wraps the figure in a gtable so that
  outward-facing tick / colorbar / in-situ data labels are auto-sized
  into the page margins instead of clipping at the device edge. The
  WCustomize(mar.*) settings are honored as a minimum floor (auto
  values dominate when larger), so existing call sites with explicit
  mar.right=... continue to work without change. gtable is now a
  hard dependency. See inst/examples/auto_margin.R.
o TopOf / Beneath / LeftOf / RightOf now tag the returned generator
  with a 'placement' attribute (north / south / west / east).
  WColorBarV / WColorBarH read this to default the in-situ
  (label.use.data) tick-label direction outward, so a horizontal
  colorbar placed via TopOf("main") puts its labels above the bar
  (rather than down into the heatmap). Explicit xticklabel.side /
  yticklabel.side overrides the inference.
o fixed a blank-leading-page bug when rendering to pdf(): an early
  convertUnit(stringWidth(...)) inside ScaleGroup implicitly opened
  page 1, after which grid.newpage() advanced to page 2. The auto-
  margin path measures only after grid.newpage(); the ly() path was
  reordered to match.