open() supports optional error handler

Fixes issue 33