**Do you want to request a *feature* or report a *bug*?**
Feature

Right now babel plugin emits globals: https://github.com/facebook/react/issues/16604

```js
window.$RefreshReg$ = () => {};
window.$RefreshSig$ = () => type => type;
```

It would be nice to have them configurable. That would allow to use `import.meta` in environments like SystemJS and have simpler implementation:

```js
import runtime from 'react-refresh/runtime'
runtime.injectIntoGlobalHook(window)

System.constructor.prototype.createContext = function (url) {
  return {
    url,
    $RefreshSig$: runtime.createSignatureFunctionForTransform,
    $RefreshReg$: (type, id) => {
      id = url + ' ' + id
      runtime.register(type, id)
    }
  };
};
```

If you don't mind I could create PR with changes to react-refresh/babel next week.

environment:
```js
{
    "systemjs": "^6.1.4",
    "react": "^16.11.0",
    "react-dom": "^16.11.0",
    "react-refresh": "^0.6.0"
 }
```
return true;
      }
      case 'ArrowFunctionExpression': {
        if (node.body.type === 'ArrowFunctionExpression') {
          return false;
        }
        
        
        callback(inferredName, node, path);
        return true;
      }
      case 'FunctionExpression': {
        
        
        
        callback(inferredName, node, path);
        return true;
      }
      case 'CallExpression': {
        const argsPath = path.get('arguments');
        if (argsPath === undefined || argsPath.length === 0) {
          return false;
        }
        const calleePath = path.get('callee');
        switch (calleePath.node.type) {
          case 'MemberExpression':
          case 'Identifier': {
            const calleeSource = calleePath.getSource();
            const firstArgPath = argsPath[0];
            const innerName = inferredName + '$' + calleeSource;