Rework the ringbuffer class so that it's not templated, and refactor its clients so they aren't dancing around the linker anymore.
ringbuffer: converted to item_size units

this fixes a number of indexing bugs
px_uploader: lower timeout to 0.5s

otherwise this doesn't work with Lenovo laptops that have 3 ttyACM
devices on the motherboard (modem/GPS)