### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

when executing the commands from this issue
* #5293

specifically the last command: 

    aws --debug --endpoint-url="http://localhost:4566" sqs change-message-visibility --queue-url http://localhost:4566/000000000000/MyQueue --receipt-handle garbage --visibility-timeout 30

i get the following XML response:
```xml
<ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Code>ReceiptHandleIsInvalid</Code><Message>The input receipt handle "garbage" is not a valid receipt handle.</Message></Error><RequestId>RC7Q6J8V0LJ4EN2WQXGANXA2XWRL13D4GN6NVJF1V8UFBAVEO417</RequestId></ErrorResponse>
```
and the following headers:
```python
{
    'Content-Type': 'text/plain; charset=utf-8',
    'Content-Length': '309',
    'Access-Control-Allow-Origin': '*',
    'Access-Control-Allow-Methods': 'HEAD,GET,PUT,POST,DELETE,OPTIONS,PATCH',
    'Access-Control-Allow-Headers': 'authorization,cache-control,content-length,content-md5,content-type,etag,location,x-amz-acl,x-amz-content-sha256,x-amz-date,x-amz-request-id,x-amz-security-token,x-amz-tagging,x-amz-target,x-amz-user-agent,x-amz-version-id,x-amzn-requestid,x-localstack-target,amz-sdk-invocation-id,amz-sdk-request',
    'Access-Control-Expose-Headers': 'etag,x-amz-version-id',
    'Connection': 'close',
    'date': 'Tue, 18 Jan 2022 23:17:17 GMT',
    'server': 'hypercorn-h11',
}

```

this XML has three issues:
1. there's no `<?xml` start declaration
2. the message content is not HTML encoded (`"` should be `&quot;`)
3. the content type is `text/plain`

### Expected Behavior

The XML returned by AWS looks as follows:
```xml
<?xml version="1.0"?><ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/"><Error><Type>Sender</Type><Code>ReceiptHandleIsInvalid</Code><Message>The input receipt handle &quot;garbage&quot; is not a valid receipt handle.</Message><Detail/></Error><RequestId>bd34a56b-d17a-552a-b343-ff0b22169609</RequestId></ErrorResponse>
```
with the following response headers:
```python
{
    'x-amzn-RequestId': '3e3ad214-7356-536b-8342-88753f3af4f7',
    'Date': 'Tue, 18 Jan 2022 23:15:56 GMT',
    'Content-Type': 'text/xml',
    'Content-Length': '334',
}
```

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    PROVIDER_OVERRIDE_SQS=asf DEBUG=1 python -m localstack.cli.main start --host

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```
aws --endpoint-url="http://localhost:4566" sqs create-queue --queue-name MyQueue
aws --debug --endpoint-url="http://localhost:4566" sqs change-message-visibility --queue-url http://localhost:4566/000000000000/MyQueue --receipt-handle garbage --visibility-timeout 30
```

### Environment

```markdown
- OS: Linux Mint 20
- LocalStack: latest
```

### Anything else?

Not sure this is really the root cause of #5293, but worth investigating and fixing regardless.
"""
    The BaseXMLResponseSerializer performs the basic logic for the XML response serialization.
    It is slightly adapted by the QueryResponseSerializer.
    While the botocore's RestXMLSerializer is quite similar, there are some subtle differences (since botocore's
    implementation handles the serialization of the requests from the client to the service, not the responses from the
    service to the client).
    **Experimental:** This serializer is still experimental.
    When implementing services with this serializer, some edge cases might not work out-of-the-box.
    """
    def _serialize_payload(
        self,
        parameters: dict,
        serialized: HttpResponse,
        shape: Optional[Shape],
        shape_members: dict,
        operation_model: OperationModel,
    ) -> None:
        """
        Serializes the given parameters as XML.
        :param parameters: The user input params