initial code commit

- very rough, CausticEngine is all that is needed right now to use the
core