Interpretable Unsupervised Generative Learning Via Factorized Architectures And Structured Bottlenecks