Use running pointer rather than math to index FDA

CODE: 3058
Lifted some lookups out of the loops

CODE: 3038
Lifted rowDirectionBits lookup

CODE: 2982
Now it is stored in a working register that is shifted down 1 bit each
pass and ANDed, rather than relookup every pass.
Optimized LED brightness control loop for time

Changed LED brightness loop so now loop keeps light on longer for
brighter values, rather than turning it on and off more times. This
increases code a little but greatly decreases time so well worth it to
make battery last longer.