Bayesian shape-constrained density estimation