Finished major changes that enable lower code size on pic12.  Pic12
compiler is terrible at compiling bit operations and using bit
arrays so some parts needed to be expressed differently and others
needed to be hand-coded in assembly.

MIB now clocks in at 41 bytes of total RAM including the 20 byte
mib_buffer and 10 byte mib_state. There's room for improvement:
- removing duplicated code once xc8 supports #pragma interrupt_level 1
	like it claims it does
- further optimizing bit operations.