Parses the message content of an ExLine.Webhook.Event.Message.
Each content type is its own struct (ExLine.Webhook.Message.Text, .Image,
.Video, .Audio, .File, .Location, .Sticker); an unrecognized content type
degrades to ExLine.Webhook.Message.Unknown so a new LINE message type never breaks
parsing. Every struct keeps the original raw map, so fields not yet modelled are
still reachable.
Ref: https://developers.line.biz/en/reference/messaging-api/#message-event