Be smarter about when to do a full 64-byte poll

Doing it everytime is needless - a full pull takes around 1200us and if
a readRaw() is called a few times in a row (when checkig for data on a
few different connections for example), it's unlikely that there is new
data now when there wasn't before.

readRaw() now keeps a timestamp to prevent doing a full poll when not
needed and when readRaw() is regularly called, a full poll should never
be required at all.