fix #28, properly parse device_id with only numbers

The fix checks wherever an string device_id parameter is set
or a device_id integer parameter is set. If both are missing
it opens the first device found. If integer device_id is set
then it parses it to string and load continues as if string
version was set.