Max7219, quad encoder, better modularity w.r.t. clock ISRs

Hi Ben,

this adds:

* support for the Max7219 (good for 8x8 LED matrices)
* support for Quadrature encoders
* better modularity for clock ISRs

The clock ISR modularity thingy works like this: if you `#define CLOCK_NO_ISR` before including the clock header, you write the ISR yourself, but get to reuse the clock16 ISR.

With the quad encoder, I've used it like this:

```
#define CLOCK_NO_ISR
#include <clock16.h>
#include <quadrature.h>

typedef _Quadrature<Pin::D5, Pin::D6, 0, 127> Quadrature;

ISR(TIMER0_OVF_vect)
{
    Quadrature::update();
    clock16_isr();
}
```

Oh yeah, we need a quad encoder example in arduino--.