### 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.
if timeout < 0:
                        timeout = 0
                    continue
                # up
                standard_message.visibility_timeout = (
                    self.visibility_timeout if visibility_timeout is None else visibility_timeout
                )
                standard_message.receive_times += 1
                standard_message.set_last_received(time.time())
                if standard_message.first_received is None:
                    standard_message.first_received = standard_message.last_received
                # cr
                receipt_handle = self.create_receipt_handle(standard_message)
                standard_message.receipt_handles.add(receipt_handle)
                self.receipts[receipt_handle] = standard_message
                if standard_message.visibility_timeout == 0:
                    self.visible.put_nowait(standard_message)
                else:
                    self.inflight.add(standard_message)
            # pr
            copied_message = copy.deepcopy(standard_message)
            copied_message.message["Attributes"][
                MessageSystemAttributeName.ApproximateReceiveCount
            ] = str(standard_message.receive_times)
            copied_message.message["Attributes"][
                MessageSystemAttributeName.ApproximateFirstReceiveTimestamp
            ] = str(int(standard_message.first_received * 1000))
            copied_message.message["ReceiptHandle"] = receipt_handle
            return copied_message
    def create_receipt_handle(self, message: SqsMessage) -> str: