Quartz backend: Don't call CGContextClosePath or CGContextClip with an empty path

When run on a Mac, a project that I'm working on that makes heavy use of Chaco prints out a steady stream of messages like:

```
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: doClip: empty path.
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: CGContextClosePath: no current point.
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: doClip: empty path.
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: CGContextClosePath: no current point.
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: doClip: empty path.
Wed Aug 29 18:14:54 Warren-Weckessers-MacBook-Pro.local Python[87697] <Error>: CGContextClosePath: no current point.
```

This pull request fixes the problem by making sure that CGContextClip and CGContextClosePath are not called with an empty path.