FACES-2025 Add MessageContextFactory and refactor MessageContext implementations to take advantage of factory discovery (adding back lines accidentally deleted during backport)