Fixed crash bug in Transport::poll caused by signal callbacks in UI being called from RT thread, triggered by dragging sequence slider.
Removed signals from Transport class.
UI now handles BPM, BPB and beat type changes in update_transport().
Forgot to add some new variable inits to Grid copy constructor, caused crash when duplicating pattners 'D' hotkey.
Fixed issue with Transport timebase values not being atomic to UI, being assigned by RT thread.
Moved sensitive variables to Timebase structure and now have separate rt and ui copies.
Added separate poll_rt() and poll_ui() methods to update respective timebase parameters within proper thread.
Converted _master_beats_per_minute, _master_beats_per_bar and _master_beat_type to atomic variables (_master_beats_per_minute is now unsigned int 10ths of a BPM).
poll_ui() is now called periodically from update_transport() UI function.
Added poll_ui() call at the end of Jack midi_init().
Removed global nframes variable in jack.C (only used in RT process).
Moved ticks_per_second to process() since its only used in that context.
Inlined midi_write_event() since its only used from process().
master and recording members are now atomic (used by RT and UI threads).