Support ksc outputs mirroring structure of ksy inputs
If I have a set of `ksy`s stored in my filesystem like so:

```
-> root/
   -> format/
      -> format.ksy
      -> types/          // some format specific types live in here
         -> type1.ksy    // type imported by format.ksy
```

After running `ksc -t javascript format/format.ksy` from the `root/` dir, I get this:

```
-> root/
   -> Format.js
   -> Type1.js
   -> format/
      -> format.ksy
      -> types/
         -> type1.ksy
```

Effectively, all `ksy` imports are pulled up to the working dir from which `ksc` was run.

It'd be fantastic if I could use a command line switch to produce output that instead looked like this:

```
-> root/
   -> format/
      -> Format.js
      -> format.ksy
      -> types/
         -> Type1.js
         -> type1.ksy
```

In other words, I'd love to be able to preserve the same structure I set up the `ksy` files in, such that the output from `ksc` matched this structure.

After mentioning this behavior to @GreyCat on Gitter, he replied:

> Normally, yeah, we do whole compilation on the same level (normally putting everything compiled in the same package or whatever's relevant to the target language)

> effectively flattening all the possible ksy hierarchy

> ([and] it can be very complex, especially given that "relative" + "absolute" import stuff)

I'm not sure how to account for absolute imports, but compilation that mirrors the structure of the `ksy`s would be quite useful for JS (easier to avoid collisions, easier to work with for tooling like kaitai-struct-loader, etc). Perhaps absolute imports would just be incompatible with such a `ksc` mode.