Performance improvements:
-Bpod now generates a blank state matrix on initialization and stores it in memory, so it doesn't have to be generated on each call to NewStateMatrix.
-Improvements in RunStateMatrix code that computes the current hardware state (vectorized several loops)
-Combined some loops in AddState and replaced if/else with switch/case where possible.
-Changed timer display on Bpod console - now shows trial start time (instead of "protocol time".
-Removed parser from AddState - now all argument pairs must be listed in order (for efficiency)
-Added performance optimizations to Bpod Parameter GUI
-Added performance optimizations to console update function (UpdateBpodCommanderGUI)