fix: cardreaders contexts leak on mono

The bug caused by two factors:
- pcsclite has "one handle per thread" limitation
- every cardreader event is handling in a new thread by outer code

Those factors lead to opening a new reader context per card connected event. As a result the max-thread limit of pcsclite is reached with following error message:
pcscd: winscard_svc.c:157:CreateContextThread() Too many context running: 200

This fix implements an action queue pattern using a single context for all cardreader actions.