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.
is it called often? maybe we then should not do a double checking here and the ternary below but return here a new Uint8Array(0)