Use JsonSerializer that has been configured for parameter deserialization

The parameter deserialization in SignalR used a hard-coded `JsonSerializer` which meant it could not be overridden. This change uses the registered `JsonSerializer` to deserialize the parameters of a hub method call.

This allows parameters in SignalR hub methods to be defined as Interfaces and/or Abstract classes when the default JsonSerializer is configured to embed the types in the JSON payload (using `JsonSerializerSettings.TypeNameHandling`).

This is similar to #3304