An Arduino circular buffering library for arbitrary types