Move list.h outside of public API
Add basic fixed-size hash table implementation
Keep devices in htable instead of linked-list
Fix incomplete reads in ty_serial_read on Windows