Heidelberg Castle's romantic location, fine architecture and tumultuous history make it a favourite of visitors to Germany.