use int instead of uint return value (as per general guidelines)

and LONG corresponds to int
restore private .ctor on safe handles to avoid P/Invoke issues
add first version of SmartCardReader

only implements GetReaders for now