Bioartificial pancreas: challenges and progress