Fix handling of shared_ptr to provider in allen.py
The MDFProvider was being destructed after the device had been reset.
A shared_ptr<IInputProvider> is used in RuntimeOptions to sort out memory management of the TESProvider in Allen-in-Moore. This was propagated to the allen() function, but there using a shared_ptr is the wrong type. This MR fixes the allen() signature to have a bare pointer instead and then sorts out the mismatch internally.
Together with: MooreOnline!314 (merged)
Edited by Roel Aaij