Determine image dimensions from memory, not a file

Change the DFGetImageDimensions to read image data from memory, rather
than a file. This is because we're abstracting over all direct
filesystem access, so that data can be accessed from other places, e.g.
within a .docx or .odt file (actually a zip archive).

To call DFGetImageDimensions, you must now read the data into memory
(ideally via the DFPackage abstraction), rather than supplying a
physical filesystem path.
Avoid direct filesystem access in the Word filter

Continue the move towards abstracting away all direct filesystem access
via the DFPackage interface, this time in the context of image files
loaded and saved in an abstract (HTML) document in the word filter.