Convert StreamReader and derivations to use size_t rather than uint32_t

Implementations that do not support 64-bit sizes or cause any compiler
warnings in x64 builds are limited to 32-bit lengths/positions by
throwing E_INVALIDARG in their StreamReader-based functions.