aperio: Don't choke on zero-byte JP2K tiles

Toby Cornish <tcornis3@jhmi.edu> discovered an Aperio 33005 slide in
which every tile in the right-most column of levels > 0 is zero bytes
long.  In this case, we were passing a NULL buffer and 0 length to
opj_cio_open(), causing it to configure the stream for writing rather
than reading.  The J2K decoder then tried to read the heap garbage in
the output buffer and failed with an error such as:

    00000000: expected a marker instead of 4880

Upon encountering such a tile, write out transparent pixels and continue.