Use the HDF5File class to read HDF5 files in readHDF5().

Code in the HDF5File class is more recent and it can handle chunked /
compressed data. This patch removes the code used by readHDF5(), making
it a simple wrapper around HDF5File.

Two bugs are eliminated:

 - readHDF5() cannot handle chunked / compressed files.
 - segfault in HDF5File.read_() while parsing strided chunked data into
   arrays with complex data types such as RGBValue.
Use the HDF5File class to write HDF5 files in writeHDF5().

This patch removes the code used by writeHDF5(), making it a simple
wrapper around HDF5File.

It also fixes a bug where writing complex data types such as RGBValue
with HDF5File.write() led to segfaults.