We can get a higher precision timestamp from microSecondTimeStamp, which will be consumed
in the console client to re-order messages.
This fixes an issue where different type of resources (console-messages and error-messages)
emitted during the same timestamp would not appear in the order they should be in.
A test is added to make sure the fix is effective.
Differential Revision: https://phabricator.services.mozilla.com/D155546
Don't clone the whole message we receive as a result of a console API call, but select
properties that are being used on the client.
As a result, we're not sending some properties anymore (`functionName`, `addonId`, `workerType`),
and we also don't include some properties when they are falsy and wouldn't bring
any benefit (`counter`,`timer`, `private`, `prefix`, `stacktrace`)
Hopefully this helps save some cycle since we're not cloning an object, but also in the
JSActor communication since the packet we need to send is smaller.
We do similar changes to the webconsoleActor method, which is still used in non
fission scenarios, and remove WebConsoleUtils.cloneObject which is no longer used.
Differential Revision: https://phabricator.services.mozilla.com/D139686