Add (unsafe) coercion from bits to std::bitflags
Add (unsafe) coercion from bits to std::bitflags

The intent of `std::bitflags` is to allow building type-safe wrappers
around C-style flags APIs. But in addition to construction these flags
from the Rust side, we need a way to convert them from the C
side. This patch adds a `from_bits` function, which is unsafe since
the bits in question may not represent a valid combination of flags.

retep998/rand,miniupnp/rust,quornian/rust,krzysz00/rust,gifnksm/rust,vhbit/rust,barosl/rust,miniupnp/rust,nwin/rust,robertg/rust,victorvde/rust,reem/rust,TheNeikos/rust,rprichard/rust,zubron/rust,reem/rust,quornian/rust,nwin/rust,miniupnp/rust,ebfull/rust,seanrivera/rust,ruud-v-a/rust,kwantam/rust,TheNeikos/rust,carols10cents/rust,0x73/rust,philyoon/rust,victorvde/rust,dwillmer/rust,pczarn/rust,krzysz00/rust,andars/rust,zubron/rust,rohitjoshi/rust,kwantam/rust,richo/rust,erickt/rust,P1start/rust,Ryman/rust,P1start/rust,bhickey/rand,zaeleus/rust,jbclements/rust,robertg/rust,avdi/rust,kwantam/rust,mahkoh/rust,mihneadb/rust,aneeshusa/rust,zubron/rust,GrahamDennis/rand,mvdnes/rust,mdinger/rust,servo/rust,cllns/rust,zubron/rust,rprichard/rust,graydon/rust,jroesch/rust,zaeleus/rust,richo/rust,avdi/rust,omasanori/rust,kimroen/rust,rprichard/rust,pczarn/rust,0x73/rust,barosl/rust,aneeshusa/rust,emk/rust,dwillmer/rust,P1start/rust,untitaker/rust,andars/rust,zaeleus/rust,zachwick/rust,jashank/rust,l0kod/rust,barosl/rust,dinfuehr/rust,carols10cents/rust,AerialX/rust-rt-minimal,ruud-v-a/rust,ebfull/rust,pelmers/rust,mdinger/rust,barosl/rust,pelmers/rust,untitaker/rust,sae-bom/rust,jroesch/rust,aidancully/rust,kimroen/rust,emk/rust,l0kod/rust,philyoon/rust,erickt/rust,emk/rust,mihneadb/rust,mdinger/rust,sae-bom/rust,emk/rust,jroesch/rust,XMPPwocky/rust,servo/rust,gifnksm/rust,untitaker/rust,waynenilsen/rand,0x73/rust,mvdnes/rust,kimroen/rust,vhbit/rust,hauleth/rust,mahkoh/rust,dinfuehr/rust,nham/rust,jbclements/rust,sae-bom/rust,XMPPwocky/rust,stepancheg/rust-ide-rust,andars/rust,ejjeong/rust,mdinger/rust,servo/rust,jbclements/rust,miniupnp/rust,philyoon/rust,AerialX/rust-rt-minimal,dinfuehr/rust,rprichard/rust,seanrivera/rust,0x73/rust,kimroen/rust,erickt/rust,zaeleus/rust,aturon/rust,robertg/rust,stepancheg/rust-ide-rust,aepsil0n/rust,ktossell/rust,gifnksm/rust,carols10cents/rust,emk/rust,Ryman/rust,jashank/rust,AerialX/rust,Ryman/rust,carols10cents/rust,kwantam/rust,aepsil0n/rust,jashank/rust,cllns/rust,defuz/rust,defuz/rust,kimroen/rust,reem/rust,hauleth/rust,nham/rust,bluss/rand,vhbit/rust,nwin/rust,avdi/rust,mihneadb/rust,KokaKiwi/rust,pczarn/rust,GBGamer/rust,stepancheg/rust-ide-rust,stepancheg/rust-ide-rust,andars/rust,quornian/rust,rohitjoshi/rust,TheNeikos/rust,shepmaster/rand,P1start/rust,richo/rust,gifnksm/rust,pshc/rust,mihneadb/rust,seanrivera/rust,dinfuehr/rust,quornian/rust,0x73/rust,ktossell/rust,quornian/rust,l0kod/rust,pshc/rust,TheNeikos/rust,dinfuehr/rust,graydon/rust,pelmers/rust,hauleth/rust,pshc/rust,jashank/rust,pshc/rust,krzysz00/rust,barosl/rust,huonw/rand,rohitjoshi/rust,zachwick/rust,P1start/rust,defuz/rust,philyoon/rust,pshc/rust,untitaker/rust,pelmers/rust,AerialX/rust-rt-minimal,GBGamer/rust,dwillmer/rust,pczarn/rust,GBGamer/rust,aturon/rust,ebfull/rand,stepancheg/rust-ide-rust,bombless/rust,defuz/rust,omasanori/rust,miniupnp/rust,Ryman/rust,zubron/rust,zachwick/rust,dwillmer/rust,servo/rust,l0kod/rust,TheNeikos/rust,l0kod/rust,richo/rust,KokaKiwi/rust,ejjeong/rust,aneeshusa/rust,rprichard/rust,avdi/rust,avdi/rust,zubron/rust,bombless/rust,zubron/rust,ktossell/rust,l0kod/rust,victorvde/rust,rohitjoshi/rust,mdinger/rust,aturon/rust,jroesch/rust,seanrivera/rust,rprichard/rust,ebfull/rust,mdinger/rust,GBGamer/rust,mahkoh/rust,krzysz00/rust,cllns/rust,erickt/rust,sae-bom/rust,jroesch/rust,erickt/rust,vhbit/rust,cllns/rust,gifnksm/rust,P1start/rust,ejjeong/rust,emk/rust,servo/rust,servo/rust,untitaker/rust,seanrivera/rust,sae-bom/rust,bombless/rust,graydon/rust,rohitjoshi/rust,victorvde/rust,ebfull/rust,dwillmer/rust,reem/rust,omasanori/rust,XMPPwocky/rust,zachwick/rust,carols10cents/rust,andars/rust,servo/rust,nham/rust,GBGamer/rust,ejjeong/rust,nham/rust,omasanori/rust,GBGamer/rust,cllns/rust,jroesch/rust,P1start/rust,kimroen/rust,ruud-v-a/rust,zachwick/rust,ktossell/rust,zubron/rust,Ryman/rust,rohitjoshi/rust,victorvde/rust,ebfull/rust,aepsil0n/rust,ruud-v-a/rust,bombless/rust,kimroen/rust,victorvde/rust,mvdnes/rust,ruud-v-a/rust,sae-bom/rust,graydon/rust,bombless/rust,aidancully/rust,robertg/rust,TheNeikos/rust,philyoon/rust,bombless/rust-docs-chinese,robertg/rust,mvdnes/rust,AerialX/rust-rt-minimal,mvdnes/rust,XMPPwocky/rust,untitaker/rust,jashank/rust,pczarn/rust,achanda/rand,XMPPwocky/rust,vhbit/rust,aidancully/rust,pelmers/rust,aneeshusa/rust,avdi/rust,KokaKiwi/rust,aturon/rust,pczarn/rust,zachwick/rust,zaeleus/rust,Ryman/rust,GBGamer/rust,aepsil0n/rust,nham/rust,jashank/rust,gifnksm/rust,dwillmer/rust,stepancheg/rust-ide-rust,nham/rust,AerialX/rust-rt-minimal,KokaKiwi/rust,ejjeong/rust,erickt/rust,miniupnp/rust,seanrivera/rust,AerialX/rust-rt-minimal,krzysz00/rust,mahkoh/rust,0x73/rust,dinfuehr/rust,barosl/rust,pelmers/rust,hauleth/rust,hauleth/rust,krzysz00/rust,vhbit/rust,pshc/rust,richo/rust,aturon/rust,robertg/rust,nwin/rust,nwin/rust,AerialX/rust,reem/rust,KokaKiwi/rust,jbclements/rust,aepsil0n/rust,barosl/rust,jbclements/rust,AerialX/rust,nham/rust,jbclements/rust,erickt/rust,graydon/rust,jbclements/rust,ebfull/rust,reem/rust,kwantam/rust,pshc/rust,andars/rust,carols10cents/rust,jbclements/rust,GBGamer/rust,jbclements/rust,hauleth/rust,l0kod/rust,pshc/rust,pczarn/rust,vhbit/rust,omasanori/rust,nwin/rust,richo/rust,graydon/rust,arthurprs/rand,AerialX/rust,mihneadb/rust,vhbit/rust,miniupnp/rust,aturon/rust,philyoon/rust,XMPPwocky/rust,aidancully/rust,zaeleus/rust,bombless/rust,jashank/rust,aneeshusa/rust,Ryman/rust,mihneadb/rust,quornian/rust,aidancully/rust,mahkoh/rust,aturon/rust,jashank/rust,dwillmer/rust,stepancheg/rust-ide-rust,ejjeong/rust,mvdnes/rust,defuz/rust,AerialX/rust,cllns/rust,ktossell/rust,kwantam/rust,aidancully/rust,l0kod/rust,dwillmer/rust,aepsil0n/rust,jroesch/rust,nwin/rust,nwin/rust,0x73/rust,aneeshusa/rust,mahkoh/rust,ruud-v-a/rust,emk/rust,miniupnp/rust,AerialX/rust,quornian/rust,ktossell/rust,ktossell/rust,omasanori/rust,KokaKiwi/rust,jroesch/rust,defuz/rust