Do not call str.length if str is undefined

Fixes #5599.

The problem is that `stringToBytes` in `src/shared/util.js` can be called with an `undefined` string for some PDFs. This PR makes sure we handle that case correctly by setting the length to 0. We issue a warning in that case to indicate that there might be something wrong with the PDF or with the code. Note that this function has to return a `Uint8Array`, even if it's of length 0, because other functionality in PDF.js depends on that.
I would say yes. If we check the usage of `stringToBytes` using, for example, https://github.com/mozilla/pdf.js/search?utf8=%E2%9C%93&q=stringToBytes, none of those usages should be dealing with the empty string. Even if the empty string is passed, the function will still work, it will just output a warning to the console as an indicating that something *might* be wrong. A regular user won't see that.