add way for simulator to return select data

changes some underlying dynamics but keeps the current api
where selectApplet() returns boolean and adds selectAppletWithResult()
returning byte[]

also fixes #21 by calling the process() method once with selectingApplet true.

I'm not sure this is the "correct" way of doing this, but seems to work fine enough for me, though completely open to opinions/changes/etc.