Add trezor_device class

- ported from the plugin codebase
- c++11 idioms
- removed buffer limit on reads, uses vector effectively kept at 64 bytes