Integrating Symbolic Reasoning into Neural Generative Models for Design Generation