Dequebuffer

I just went ahead and implemented the deque buffer (It does not solve my problem yet, though).

I noticed there is optimization potential.
Currently the buffer is organized as list(list(deque)), which results in n_signals*n_channels individual deques. Changing this to list(deque(list)) could improve performance (by reducing the number of deques to be pushed/popped, and getting rid of one level of nested loops in some functions).
What do you think?