Make SetSubData take size in uint8_t not uint32_t.

Also change data pointer to uint8_t*.
Add a test for a non-aligned SetSubData().
Implemented on all backends.
diff --git a/src/tests/NXTTest.cpp b/src/tests/NXTTest.cpp
index b846608..4a21048 100644
--- a/src/tests/NXTTest.cpp
+++ b/src/tests/NXTTest.cpp
@@ -430,6 +430,7 @@
         return testing::AssertionSuccess();
     }
 
+    template class ExpectEq<uint8_t>;
     template class ExpectEq<uint32_t>;
     template class ExpectEq<RGBA8>;
 }