Towards Self-Assembling Artificial Neural Networks through Neural Developmental Programs