Capacity allocation analysis of neural networks: A tool for principled architecture design