Top-level parameters are not validated
Apparently, the compiler doesn't validate usages of top-level parametric types - mismatches of parameter types with the values of passed arguments or incorrect number of parameters are not reported as errors.

This spec should be rejected by KSC, because it attempts to pass a string `"hello"` to the top-level boolean parameter `flag`:

```ksy
meta:
  id: with_bool_param
params:
  - id: flag
    type: bool
seq:
  - id: foo
    type: with_bool_param("hello")
    if: false
```

However, the compiler (as of [`c24196b2`](https://github.com/kaitai-io/kaitai_struct_compiler/tree/c24196b283c3ba63656e79d12b339f91960a2dfc)) doesn't report any errors:

```console
$ kaitai-struct-compiler -- -d compiled --verbose file -t java with_bool_param.ksy
parsing with_bool_param.ksy...
reading with_bool_param.ksy...
... compiling it for java...
.... writing /WithBoolParam.java
```

Unsurprisingly, the result is invalid Java code:

```console
$ javac -classpath /c/temp/kaitai_struct/runtime/java/target/kaitai-struct-runtime-0.11-SNAPSHOT.jar compiled/WithBoolParam.java
compiled\WithBoolParam.java:27: error: incompatible types: String cannot be converted to boolean
            this.foo = new WithBoolParam(this._io, "hello");
                                                   ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error
```

---

The same situation happens when the top-level parametric type is imported, for example:

`main.ksy`

```ksy
meta:
  id: main
  imports:
    - with_bool_param
seq:
  - id: foo
    type: with_bool_param("hello")
```

`with_bool_param.ksy`

```ksy
meta:
  id: with_bool_param
params:
  - id: flag
    type: bool
```

```console
$ kaitai-struct-compiler -- -d compiled --verbose file -t java main.ksy
parsing main.ksy...
reading main.ksy...
reading ./with_bool_param.ksy...
... compiling it for java...
.... writing /Main.java
.... writing /WithBoolParam.java
```

```console
$ javac -classpath /c/temp/kaitai_struct/runtime/java/target/kaitai-struct-runtime-0.11-SNAPSHOT.jar compiled/WithBoolParam.java compiled/Main.java
compiled\Main.java:28: error: incompatible types: String cannot be converted to boolean
        this.foo = new WithBoolParam(this._io, "hello");
                                               ^
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error
```

---

In contrast, types on other levels than the top level *are* validated, even when using a nested type from an imported spec:

`main.ksy`

```ksy
meta:
  id: main
  imports:
    - imported
seq:
  - id: foo
    type: imported::with_bool_param("hello")
```

`imported.ksy`

```ksy
meta:
  id: imported
types:
  with_bool_param:
    params:
      - id: flag
        type: bool
```

```console
$ kaitai-struct-compiler -- -d compiled --verbose file -t java main.ksy
parsing main.ksy...
reading main.ksy...
reading ./imported.ksy...
main.ksy: /seq/0/type:
        error: can't pass argument #0 of type CalcStrType into parameter `flag` of type CalcBooleanType
```