Simplify optimization

* remove L-BFGS, gradient descent finds better visualizations (although the cost is often higher)
* learning_rate is a parameter
* learning schedule:
    * initialize embedding with standard deviation 1
    * 100 episodes with early exaggeration
    * 20 iterations with momentum 0.5
    * then switch to momentum 0.8
    * default learning rate is 100, reasonable range is 100-500