Check for zero or negative width/height arguments to bitmap data and throw appropriate errors.

There's a bug in Mining truck ATM where shapes are cached in zero by zero bitmap data objects because of bounds issues. This argument test exposes the bug early.
Forgot to write the number of children if the bitmap data is null.
Propagate Fill and Line bounds independently.
Don't use ArgumentError error.
Fix font size issue when the font is exactly 8pt (or 160twips).
Merge pull request #1470 from mbebenita/nat

Check for zero or negative width/height arguments to bitmap data and thr...