Canvas: fix native handling and max_width argument

This PR adds the missing `Native` include and a check for the `max_width` argument in `#fill` and `#stroke` with a condition.

The check for `max_width` was necessary, otherwise it would be considered to be `0` when not passed, causing no text to be rendered, which doesn't seem to be the expected behaviour, as the limit should only be applied if provided.

Tested in `Chrome 31.0.1650.63`.