fix(lib): use namespaced enums and `AsRawFd` trait

Some enum variants have been unprefixed now that enums are namespaced:

- {Data5,Data6,Data7,Data8} -> DataBits::{Five,Six,Seven,Eight}
- {BothDirections,Input,Output} -> Direction::{Both,Input,Output}
- {Software,NoFlowControl,Hardware} -> FlowControl::{Software,None,Hardware}
- {EvenParity,NoParity,OddParity} -> Parity::{Even,None,Odd}
- {Stop1,Stop2} -> StopBits::{One,Two}

`BaudRate` variants remain unchanged, and you should glob import them if you
need to use several of them.

[breaking-change]