Use lookup table when calculating CRC16 XMODEM

Related to #729.

I borrowed it from https://github.com/mp911de/lettuce/commit/b9219314802fb0236b0bb39e8e38cc0e5b3077ec
Thanks @mp911de!
And thanks @allanwax for considering better algorithm!