Allow member declaration with initializations to omit type

This pull request implements a slightly shortened syntax - member variables with initializations may now omit their type:

```groovy
import peer.http.*;

public class Http extends util.cmd.Command {
  protected HttpConnection $conn;          // With type, no initialization
  protected string $method = 'GET';        // With type and initial value
  protected $request = new HttpRequest();  // No type necessary
}
```

In the last line, the `request` member's type will be inferred by the right-hand side of the expression, in this case: `peer.http.HttpRequest`.