### 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 ``BaseRestResponseSerializer`` contains the logic for the REST
  protocol specifics (i.e. specific HTTP header serializations).
* The ``RestXMLResponseSerializer`` and the ``RestJSONResponseSerializer``
  inherit the ReST specific logic from the ``BaseRestResponseSerializer``
  and the XML / JSON body serialization from their second super class.
The services and their protocols are defined by using AWS's Smithy
(a language to define services in a - somewhat - protocol-agnostic
way). The "peculiarities" in this serializer code usually correspond
to certain so-called "traits" in Smithy.
The result of the serialization methods is the HTTP response which can
be sent back to the calling client.
**Experimental:** The serializers in this module are still experimental.
When implementing services with these serializers, some edge cases might
not work out-of-the-box.
"""
import abc
import base64
from abc import ABC
from datetime import datetime
from email.utils import formatdate
from typing import Optional, Union
from xml.etree import ElementTree as ETree
import six
from boto.utils import ISO8601
from botocore.model import ListShape, MapShape, OperationModel, ServiceModel, Shape, StructureShape
from botocore.serialize import ISO8601_MICRO
from botocore.utils import calculate_md5, parse_to_aware_datetime
from moto.core.utils import gen_amzn_requestid_long
from localstack.aws.api import CommonServiceException, HttpResponse, ServiceException
class ResponseSerializer(abc.ABC):