Use one script engine and one script debugger to avoid slow down of the skin parsing 

+ Using the debugger is much faster than before
+ The debugger is disabled on the spinny widget to avoid segfault (multithread?).
+ The global object is preserved from a skin context to it's children (as when there is one scriptEngine per context).
+ The translation js api is enabled (http://qt-project.org/doc/qt-4.8/qscriptengine.html#installTranslatorFunctions)
+ Removal of a circular reference of the global object in the svg extension 

I have a really fast SSD here so I didn't realize the slow down was so massive. Please tell me if there is another bottleneck on different setups.
```
#0  VisualPlayPosition::getPlaySlipAt (this=0x0, usFromNow=usFromNow@entry=0, 
    playPosition=playPosition@entry=0x99cdd60, slipPosition=slipPosition@entry=0x99cdd78)
    at src/visualplayposition.cpp:69
#1  0x0000000000b3c660 in WSpinny::maybeUpdate (this=this@entry=0x99cdbc0)
    at src/widget/wspinny.cpp:224
#2  0x0000000000affb18 in WSpinny::qt_static_metacall (_o=0x99cdbc0, _c=<optimized out>, 
    _id=<optimized out>, _a=0x7fffffff67b0) at lin64_build/widget/moc_wspinny.cc:75
#3  0x00007ffff551687a in QMetaObject::activate (sender=sender@entry=0x2c0e100, 
    m=m@entry=0xd13d40 <WaveformWidgetFactory::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
    at kernel/qobject.cpp:3539
#4  0x0000000000acc52e in WaveformWidgetFactory::waveformUpdateTick (
    this=this@entry=0x2c0e100) at lin64_build/waveform/moc_waveformwidgetfactory.cc:109
#5  0x0000000000af0538 in WaveformWidgetFactory::render (this=0x2c0e100)
    at src/waveform/waveformwidgetfactory.cpp:468
#6  0x0000000000acc4a8 in WaveformWidgetFactory::qt_static_metacall (_o=0x2c0e100, 
    _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fff7000a250)
    at lin64_build/waveform/moc_waveformwidgetfactory.cc:58
#7  0x00007ffff551ac1e in QObject::event (this=0x2c0e100, e=<optimized out>)
    at kernel/qobject.cpp:1194
#8  0x00007ffff5edae2c in QApplicationPrivate::notify_helper (this=this@entry=0x1114e10, 
    receiver=receiver@entry=0x2c0e100, e=e@entry=0x7fff70003a90)
    at kernel/qapplication.cpp:4567
#9  0x00007ffff5ee14a0 in QApplication::notify (this=this@entry=0x7fffffffdf60, 
    receiver=receiver@entry=0x2c0e100, e=e@entry=0x7fff70003a90)
    at kernel/qapplication.cpp:4353
#10 0x00000000009b364e in MixxxApplication::notify (this=0x7fffffffdf60, target=0x2c0e100, 
    event=0x7fff70003a90) at src/mixxxapplication.cpp:138
#11 0x00007ffff55024dd in QCoreApplication::notifyInternal (this=0x7fffffffdf60, 
    receiver=receiver@entry=0x2c0e100, event=event@entry=0x7fff70003a90)
    at kernel/qcoreapplication.cpp:953
#12 0x00007ffff5505b3d in sendEvent (event=0x7fff70003a90, receiver=0x2c0e100)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#13 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, 
    event_type=event_type@entry=0, data=0x10f0910) at kernel/qcoreapplication.cpp:1577
#14 0x00007ffff5505fe3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, 
    event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#15 0x00007ffff552ff83 in sendPostedEvents ()
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#16 postEventSourceDispatch (s=0x1114d30) at kernel/qeventdispatcher_glib.cpp:287
#17 0x00007ffff006ee04 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007ffff006f048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007ffff006f0ec in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
```

And nemiver give me that in visualplayposition.cpp : 
```
    if (m_valid) {
0x0000000000acb0bd  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+13>:  cmpb   $0x0,0x228(%rdi)
0x0000000000acb0c4  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+20>:  jne    0xacb0d8 <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+40>
        VisualPlayPositionData data = m_data.getValue();
        int usElapsed = data.m_referenceTime.elapsed() / 1000;
0x0000000000acb17f  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+207>:  mov    %rdx,%rdi
0x0000000000acb182  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+210>:  callq  0xa985b0 <PerformanceTimer::elapsed() const>
0x0000000000acb187  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+215>:  movabs $0x20c49ba5e353f7cf,%rdx
0x0000000000acb191  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+225>:  mov    %rax,%rsi
0x0000000000acb194  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+228>:  imul   %rdx
0x0000000000acb197  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+231>:  sar    $0x3f,%rsi
0x0000000000acb1ad  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+253>:  sar    $0x7,%rdx
0x0000000000acb1b1  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+257>:  sub    %rsi,%rdx
        int dacFromNow = usElapsed - data.m_callbackEntrytoDac;
0x0000000000acb1b4  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+260>:  sub    0x10(%rsp),%edx
        int offset = dacFromNow - usFromNow;
0x0000000000acb1b8  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+264>:  sub    %r13d,%edx
        double playPos = data.m_enginePlayPos;  // load playPos for the first sample in Buffer
        playPos += data.m_positionStep * offset * data.m_rate / m_dAudioBufferSize / 1000;
0x0000000000acb19b  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+235>:  movsd  0x20(%rsp),%xmm0
0x0000000000acb1a7  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+247>:  mulsd  0x28(%rsp),%xmm0
0x0000000000acb1bb  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+267>:  cvtsi2sd %edx,%xmm1
0x0000000000acb1bf  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+271>:  mulsd  %xmm1,%xmm0
0x0000000000acb1c3  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+275>:  divsd  0x220(%rbx),%xmm0
0x0000000000acb1cb  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+283>:  mulsd  0x9ece5(%rip),%xmm0        # 0xb69eb8
0x0000000000acb1d3  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+291>:  addsd  0x18(%rsp),%xmm0
        *playPosition = playPos;
0x0000000000acb1d9  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+297>:  movsd  %xmm0,(%r12)
        *slipPosition = data.m_pSlipPosition;
0x0000000000acb1a1  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+241>:  movsd  0x30(%rsp),%xmm2
0x0000000000acb1df  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+303>:  movsd  %xmm2,0x0(%rbp)
    }
}
0x0000000000acb0c6  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+22>:  add    $0x48,%rsp
0x0000000000acb0ca  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+26>:  pop    %rbx
0x0000000000acb0cb  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+27>:  pop    %rbp
0x0000000000acb0cc  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+28>:  pop    %r12
0x0000000000acb0ce  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+30>:  pop    %r13
0x0000000000acb0d0  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+32>:  retq   
0x0000000000acb0d1  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+33>:  nopl   0x0(%rax)
0x0000000000acb1e4  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+308>:  add    $0x48,%rsp
0x0000000000acb1e8  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+312>:  pop    %rbx
0x0000000000acb1e9  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+313>:  pop    %rbp
0x0000000000acb1ea  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+314>:  pop    %r12
0x0000000000acb1ec  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+316>:  pop    %r13
0x0000000000acb1ee  <VisualPlayPosition::getPlaySlipAt(int, double*, double*)+318>:  retq   
0x0000000000acb1ef  <>:  nop

double VisualPlayPosition::getEnginePlayPos() {
    if (m_valid) {
0x0000000000acb1f0  <VisualPlayPosition::getEnginePlayPos()>:  cmpb   $0x0,0x228(%rdi)
0x0000000000acb1ff  <VisualPlayPosition::getEnginePlayPos()+15>:  jne    0xacb208 <VisualPlayPosition::getEnginePlayPos()+24>
        VisualPlayPositionData data = m_data.getValue();
        return data.m_enginePlayPos;
    } else {
        return -1;
0x0000000000acb1f7  <VisualPlayPosition::getEnginePlayPos()+7>:  movsd  0x9d8c1(%rip),%xmm0        # 0xb68ac0
    }
}
0x0000000000acb201  <VisualPlayPosition::getEnginePlayPos()+17>:  repz retq 
0x0000000000acb203  <VisualPlayPosition::getEnginePlayPos()+19>:  nopl   0x0(%rax,%rax,1)
0x0000000000acb262  <VisualPlayPosition::getEnginePlayPos()+114>:  repz retq 
0x0000000000acb264  <>:  data32 data32 nopw %cs:0x0(%rax,%rax,1)
```