framebuffer: use new flow API
edid.py: sample SCL only every 64 clock cycles, to avoid bouncing

Possibly due to SCL rising fairly slowly (in the 0.5-1 us range),
bouncing has been observed while crossing the "forbidden" region
between Vil(max) and Vih(min).

By lowering the sample rate from once per system clock to once
every 64 clock cycles, we make sure we sample at most once during
the bounce interval and thus never see a false edge. (Although we
may see a rising edge one sample time late, which is perfectly
harmless.)
software/videomixer: use new csr.h
dvisampler/clocking: insert DCM_CLKGEN before PLL
dvisampler/chansync: use Record.raw_bits()
microudp.c: avoid redundant accesses into multi-level structures
tftp.c: use symbolic constants for protocol opcodes
tftp.c (rx_callback): simplify expressions containing unnecessary casts
tftp.c: make "packet_data" unsigned and optimize strcpy+strlen
tftp.h, tftp.c (tftp_get): make "buffer" void and use unsigned char internally
tftp.c: use uintNN_t instead of "unsigned short", etc.
tftp.c (format_request): pass opcode as argument
tftp.c: use symbolic constant for block size
tftp.h, tftp.c: add tftp_put
dvisampler/chansync: set synced to 0 when control tokens do not arrive at the same time
milkymist/adc/__init__.py: CounterADC - simple counter-based ADC

This is a revised version of the counter-based ADC.
adc: double-register asynchronous inputs