Context menu with default menu

```jsx
import { ContextMenuController } from './ContextMenuController';
const onClick = () => alert('click');
const menu = [
  {
    title: 'Menu item',
    onClick,
  },
  {
    title: 'Menu item 2',
    onClick,
  },
];
<ContextMenuController rootId="context-menu">
  <ContextMenu menu={menu}>
    {({ showContextMenu }) => (
      <div onContextMenu={showContextMenu}>some text</div>
    )}
  </ContextMenu>
</ContextMenuController>;
```

Context menu with custom menu

```jsx
import { Menu, MenuItem } from '../Menu';

<ContextMenu>
  {({ showContextMenu, isOpen, position }) => (
    <>
      <div onContextMenu={showContextMenu}>Some text</div>
      {isOpen && (
        <Menu style={{ position: 'fixed', top: position.y, left: position.x }}>
          <MenuItem>Text 1</MenuItem>
          <MenuItem>Text 2</MenuItem>
        </Menu>
      )}
    </>
  )}
</ContextMenu>;
```
