End-to-end Bayesian inference workflows in TensorFlow Probability