## 🚀 Feature Proposal

I suggest
1. either to add method `getId()` to interface `WebElement`, or
2. to create interface like `HasId` or `HasIdentity` and make `RemoteWebElement` implement it. 

## Motivation

People often cast `WebElement` to `RemoteWebElement` just to call method `getId()`. 
De-facto all implementations of `WebElement` have method `getId()`. 
For me, it's a problem because `RemoteWebElement` is a class, not interface, and therefore I cannot create a proxy object for it in Selenide. I need some interface with method `getId()`. 

returnedCapabilities.setCapability(SUPPORTS_JAVASCRIPT, true);
    }
    this.capabilities = returnedCapabilities;
    sessionId = new SessionId(response.getSessionId());
  }
  public ErrorHandler getErrorHandler() {
    return errorHandler;
  }
  public void setErrorHandler(ErrorHandler handler) {
    this.errorHandler = handler;
  }
  public CommandExecutor getCommandExecutor() {
    return executor;
  }
  protected void setCommandExecutor(CommandExecutor executor) {
    this.executor = executor;
  }
  @Override
  public Capabilities getCapabilities() {
    if(capabilities == null){
      return new ImmutableCapabilities();
    }
    return capabilities;
  }
  @Override
  public void get(String url) {
    execute(DriverCommand.GET(url));
  }
  @Override
  public String getTitle() {