Gate arrays

Instead of having gates and gates_dt be vectors defined internally, they are now pointers to references provided as arguments to the constructor.