func CreateContext(initial State) *Context {
	if hookFiber != nil {
		panic("CreateContext was called inside a Component.")
	}
	context := &Context{
		defaultState: initial,
	}
	return context
}
CreateContext allows you to create a Context that can be used with UseContext
It must be called from outside your Component.
package r
import (
	"sync"
)
type Context struct {
	defaultState State
}
func (c *Context) Mount(state State) {
	hookFiberLock.Lock()
	if hookFiber == nil {
		panic("UseContext was not called inside a Component.")
	}
	var oldHook *hook
	if hookFiber != nil &&
		hookFiber.alternate != nil &&
		hookFiber.alternate.hooks != nil &&
		len(hookFiber.alternate.hooks) > hookIndex &&
		hookFiber.alternate.hooks[hookIndex] != nil {
		oldHook = hookFiber.alternate.hooks[hookIndex]
	}
	var h *hook
	if oldHook != nil {
		h = oldHook
	} else {
		h = &hook{
			tag:     hookTagContext,
			mutex:   &sync.Mutex{},
			state:   state,
			context: c,
		}
	}
	if hookFiber != nil {
		hookFiber.hooks = append(hookFiber.hooks, h)
		hookIndex++
	}
	hookFiberLock.Unlock()
}