Make word-extraction more resilient

If the first page of the document is empty, wordListPerPage is not populated, but #decodeFile()
will return in a way that #hasNext() returns true (correctly). #next() however will fail
with a NullPointerException when called.

Fix that by letting #decodeFile() return whether it found any words, and loop until either that
is the case or all pages have been processed.