Normally it's not required, and you can just use ExternalProject to pull in third party dependencies.

The reason in this case is that Protobuild looks for a Protobuild project called "JSIL.Compiler" and uses that to determine the path to the JSIL compiler for games targetting the Web platform (for the post-build step).  This is done so that users don't have to add an additional Property specifying the path to JSIL on every executable project they want to use on the Web platform (which is the only real other way of doing it since JSIL isn't something you install system-wide).

The reason for including it as a submodule is mainly based on the discussion happening in https://github.com/sq/JSIL/issues/362#issuecomment-39226043.