[Bug]: System prompts sent via `ChatPromptTemplate` and `ChatMessage` are being interpreted as user message in Google GenAI

### Bug Description

- System prompts sent via `ChatPromptTemplate` and `ChatMessage` are not being passed as a system instruction while using the `achat` or `astructured_predict` method.
- This [documentation of Google GenAI](https://cloud.google.com/vertex-ai/generative-ai/docs/learn/prompts/system-instructions) says that system instruction must be sent via the `GenerateContentConfig` `system_instruction` just like the following example:

```python
from google import genai
from google.genai.types import GenerateContentConfig, HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Why is the sky blue?",
    config=GenerateContentConfig(
        system_instruction=[
            "You're a language translator.",
            "Your mission is to translate text in English to French.",
        ]
    ),
)
print(response.text)
# Example response:
# Pourquoi le ciel est-il bleu ?
```

**Case: 1**
- While using GoogleGenAI class provided by Llamaindex `from llama_index.llms.google_genai import GoogleGenAI`, when in between multiple chats there is a `ChatMessage` like as folllows, the system message is being treated as a usual message rather than a system instruction:
```python
from llama_index.llms.google_genai import GoogleGenAI
from llama_index.core.llms.types import ChatMessage, MessageRole

# This doesn't work properly - system message treated as regular message
llm = GoogleGenAI(model="gemini-2.0-flash-exp", api_key="your_key")

messages = [
    ChatMessage(
        role=MessageRole.SYSTEM,
        content="You are a professional French translator."
    ),
    ChatMessage(
        role=MessageRole.USER,
        content="Translate 'Hello' to French"
    )
]

response = await llm.achat(messages)  # System instruction not properly set
```

**Case: 2**
- ChatPromptTemplate Equivalent with `astructured_predict`. Here also the system message is treated as a simple message instead of system prompt.

```python
from llama_index.core.prompts import ChatPromptTemplate
from llama_index.llms.google_genai import GoogleGenAI
from pydantic import BaseModel, Field

class AnalysisOutput(BaseModel):
    analysis: str = Field(description="Text analysis")
    recommendations: list[str] = Field(description="Recommendations")

llm = GoogleGenAI(model="gemini-2.0-flash-exp", api_key="your_key")

# System instruction won't work properly
chat_prompt = ChatPromptTemplate(
    message_templates=[
        ChatMessage(
            role=MessageRole.SYSTEM,
            content="You are a language expert. Provide detailed analysis."
        ),
        ChatMessage(
            role=MessageRole.USER,
            content="Analyze this text: '{text}'"
        )
    ]
)

response = await llm.astructured_predict(
    AnalysisOutput,
    chat_prompt,
    text="The quick brown fox jumps over the lazy dog."
)
```


### Version

0.12.28

### Steps to Reproduce

- Look into either of these scenarios in the bug description.
- Try to log the entire request and response sent to the LLM.

### Relevant Logs/Tracbacks

```shell

```

Labels: bug, triage
State: closed