func GetClient(ctx context.Context) Client {
	client := ctx.Value(ClientKey)
	if client != nil {
		return client.(Client)
	}
	return &noopClient{
		silenced: true,
	}
}
GetClient retrieves the analytics client from the provided
context. If the context does not contain an analytics client,
then this will return a silenced noopClient. The latter's
useful for testing.
package analytics
import (
	"context"
	"encoding/json"
	"fmt"
	"net/url"
	"time"
)
type KeyType int
const ClientKey KeyType = iota
const FlushDuration = 250 * time.Millisecond