Factor out Xilinx toolchain Shake rules into Development.KansasLava.Shake.Xilinx
Text substitution for plain-text files
Generate .xise file
Everything under 'ise' dir is generated
Get template filenames via filepath
Use kansas-lava-shake
Ignore cabal sandbox config file