### Description
Since caching is now enabled for free tier, the following changes are to be done to ensure caching is more discoverable:
Spec: https://docs.google.com/document/d/1Ic2I7wQYj_A8qJhRffboQPdDsozd463fy-wuvb1bERw/edit
### Affected components
- [x] Console
### Related Issues
#2340
### Solution and Design
1. Added a new Cache button to the GraphiQL toolbar
2. Added a GraphiQL footer to display response time and response size for queries
3. Removed 'Copy' and 'Voyager' buttons to make space for 'Cache' button
### Steps to test and verify
1. Click on the 'Cache' button on the GraphiQL toolbar to add @cached directive to your query which enables caching for query response.
2. The response time and response size details will be displayed in the footer below the query response
3. The Cache keyword with a success icon is displayed in the footer when response caching is enabled
### Screenshots
1. Queries without response caching
<img width="1440" alt="Screenshot 2021-09-15 at 11 09 23 AM" src="https://user-images.githubusercontent.com/59638722/133379080-9e4fa2ac-2a60-4030-9152-739564fd2419.png">
2. Response caching enabled
<img width="1440" alt="Screenshot 2021-09-15 at 11 09 50 AM" src="https://user-images.githubusercontent.com/59638722/133379089-3ddb321f-ae82-4d57-ab50-0284f151819c.png">
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2353
Co-authored-by: Rishichandra Wawhal <27274869+wawhal@users.noreply.github.com>
GitOrigin-RevId: abc7566085c8ed7e362a0abc2b3906c2c8974cee
* allow re-using Postgres scalars in custom types, close#4125
* add pytest tests
* update CHANGELOG.md
* add a doc pointer for reusable postgres scalars
* document the code, improve the CHANGELOG entry
As suggested by @lexi-lambda
* a bit more source code documentation, use WriterT to collect reused scalars
* Apply suggestions from code review
Co-Authored-By: Marion Schleifer <marion@hasura.io>
* improve doc for Postgres scalars in custom graphql types
* Add some more references to Note; fix Haddock syntax
Also a few very minor tweaks:
* Use HashSet instead of [] more pervasively
* Export execWriterT from Hasura.Prelude
* Use pattern guards in multi-way if
* Tweak a few names/comments
* Pull buildActions out of buildAndCollectInfo, use buildInfoMap
* Tweak wording in documentation
* incorporate changes in console code
* account Postgres scalars for action input arguments
-> Avoid unnecessary 'throw500' in making action schema
* Review changes
Co-authored-by: Marion Schleifer <marion@hasura.io>
Co-authored-by: Alexis King <lexi.lambda@gmail.com>
Co-authored-by: Vamshi Surabhi <0x777@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <ola.zxcvbnm@gmail.com>