Propagate exact bounds errors back through the deferred

If getting exact bounds does return a zero bounds error, the throw in the .then() was leaving the resultDeferred dangling. Since we ```done``` is fun I added one here too. 
The original error message should be getting passed through. It's the same as 
```
.fail(function (reason) {
    resultDeferred.reject(reason);
})
```
In this case reason is probably the error getting thrown on line 421. I verified in the case I have the "Refusing to render pixmap with zero bounds." is making it back to the error manager from this code path.