Added string decoding methods with explicit offset/length. This removes the need for ByteBuffer instantiations or messy position/limit modifications during decoding.
Documented all string decoding methods. Important: the input buffer's position/limit remains unchanged after decoding.
Optimized string decoding in structs.
Update kotlinc to M5.2.