### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I have an application which uses SQS.
It works in production.
It has acceptance tests which were passing with localstack until very recently.

Now I see:

```
An error occurred (InvalidParameterValue) when calling the SendMessage operation: Value 0 for parameter DelaySeconds is invalid. Reason: The request include parameter that is not valid for this queue type.
```

Yes, delay `0` is being passed in to `send_message` but this used to work in both localstack and AWS.

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.send_message

> DelaySeconds (integer) --
The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. 

### Expected Behavior

DelaySeconds 0 is a valid value.

sqs send_message works when explicitly setting delay 0.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

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

    docker run localstack/localstack

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

1. Create a SQS FIFO queue.
2. Try to `send_message`, specifying `DelaySeconds=0`

### Environment

```markdown
- OS: macos
- LocalStack: latest
```


### Anything else?

I notice on a recent issue that @thrau said he recently changed how SQS attribute values are validated.
for k, v in attributes.items():
            if k in INTERNAL_QUEUE_ATTRIBUTES:
                raise InvalidAttributeName(f"Unknown Attribute {k}.")
            queue.attributes[k] = v
        # Sp
        if queue.attributes.get(QueueAttributeName.Policy) == "":
            del queue.attributes[QueueAttributeName.Policy]
        redrive_policy = queue.attributes.get(QueueAttributeName.RedrivePolicy)
        if redrive_policy:
            _redrive_policy = json.loads(redrive_policy)
            dl_target_arn = _redrive_policy.get("deadLetterTargetArn")
            max_receive_count = _redrive_policy.get("maxReceiveCount")
            # TO
            if not dl_target_arn:
                raise InvalidParameterValue(
                    "The required parameter 'deadLetterTargetArn' is missing"
                )
            if not max_receive_count:
                raise InvalidParameterValue("The required parameter 'maxReceiveCount' is missing")
            try:
                max_receive_count = int(max_receive_count)
                valid_count = 1 <= max_receive_count <= 1000
            except ValueError:
                valid_count = False
            if not valid_count:
                raise InvalidParameterValue(
                    f"Value {redrive_policy} for parameter RedrivePolicy is invalid. Reason: Invalid value for "
                    f"maxReceiveCount: {max_receive_count}, valid values are from 1 to 1000 both inclusive. "
                )
    def tag_queue(self, context: RequestContext, queue_url: String, tags: TagMap) -> None: