Fix bug in fillRectangle, misc small improvements

fillRectangle appears to have an error - would only work if y0 < y1, fixed
MatrixForefround - use simpler code for reading width
use MATRIX_WIDTH, rather than the magic number 32
Make which arduino header file you include (16 vs 32) control which hardware header to include.