FACES-2025 Add MessageContextFactory and refactor MessageContext implementations to take advantage of factory discovery (made additions/removals according to incorrect backport)