More efficient FileDescriptorIO#read_nonblock
Make File inherit FileDescriptorIO, and some other related refactors