FACES-2025 Add MessageContextFactory and refactor MessageContext implementations to take advantage of factory discovery (refactored MessageContext to be an interface instead of an abstract class and removed the getInstance/setInstance methods)