Made the oscilloscope more efficient. Distortions reduced.

1. The sampling method is now more efficient since the `logicArray` is not a part of the dictionary but a 2 Dimensional list [ `self.WID` X `self.MAX_INP` ] .
2. `xrange` function will be called instead of `range` [ only for Py 2.x ]
3. Length of the inputs `self.leninputs` will be precalculated to improve efficiency at the time of sampling.

Effect of this is that the distortion produced in the waveforms especially the ones produced in the clocks will be reduced compared to before.  [ as long as the sampling freq is set to > 2* Nyquist freq. (preferably 5*Nyq. freq.) ]