Allow more Porter-Duff compositing modes for rect fills.

r? @metajack 

@pcwalton made these changes, but we need them merged into rust-azure master so we can do the rust upgrade