Workaround for starting inert multiple times

Allow inert:start/0 to be called twice without crashing. This code is
derived from the template in the Erlang docs example driver. It's a proof of
concept for testing and will be replaced at some point.
Remove debug printf
Add blocking poll/1,2
Don't remove the fd after select returns

The doc states:

    ERL_DRV_USE should be set together with the first event for an event
    object. It is harmless to set ERL_DRV_USE even though it already has been
    done. Clearing all events but keeping ERL_DRV_USE set will indicate that
    we are using the event object and probably will set events for it again.

So keep the fd around, since the user will likely poll the socket again.
To remove the socket, the user must call inert:clr/1.